2009-08-06 7 views

Répondre

3

Passage d'une plage de pages à la boîte de dialogue d'impression natif ... non.

Vous pouvez envelopper dynamiquement les portions que vous ne souhaitez pas imprimer avec une classe CSS que vous avez défini dans une feuille de style d'impression ...

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

/* contents of print.css */ 
.noprint { display: none; } 

Vous devez savoir comment obtenir cette classe sur les bits appropriés de HTML avant d'appeler window.print().

+0

Bonne idée. Si le texte imprimable est assez bien formé, je suis juste un peu de magie jQuery devrait être en mesure d'ajouter la classe appropriée aux éléments appropriés. –

0

Umm .. no. tu ne peux pas.

MISE À JOUR

Je ne suis pas allé plus loin pour la simple raison que d'essayer de contrôler l'impression Web est comme un serpent saisissant par sa queue et en espérant qu'il ne vous mord pas. En d'autres termes, c'est futile et vous obtiendrez peu. Si vous voulez un contrôle d'impression, une application web n'est PAS le moyen de faire les choses. Si vous avez besoin de flexibilité avec le format/la mise en page/ou simplement le contrôle des numéros de page à imprimer, vous devez soit créer une application de bureau, soit essayer de la contrôler en fournissant un document standard comme Word ou PDF.

De toute façon c'est beaucoup de travail.

+0

Utile. Je peux voir comment ceci fournit des solutions alternatives à celle demandée ou conseille l'affiche pourquoi c'est une mauvaise idée ou pas possible. –

0

Etes-vous sûr de pouvoir rendre tout cela en un seul passage? Il peut être plus judicieux de transférer une sélection de fichiers via un langage côté serveur, ou ajax dans tout ce que l'utilisateur sélectionne. Par exemple, vous pouvez fournir une zone de saisie pour la page de début et de fin, ajax le matériel nécessaire sur la page, puis imprimer serait exactement ce que vous voulez qu'il soit, moins les champs de saisie. À ce stade, vous pouvez soit masquer les champs d'entrée ou forcer cet ajax à charger dans une nouvelle fenêtre, ou quelque chose de cette nature.

+0

C'est l'option que j'ai actuellement. Laissez-moi raconter l'histoire de fond. L'exigence de base était d'exporter une page particulière en PDF afin que les clients puissent imprimer à tout moment et entre les pages. Je créais PDF de manière dynamique en utilisant iText. Le problème est qu'il prend l'utilisation du CPU et l'utilisation de la mémoire. Pour un utilisateur unique, ce ne sera pas un problème. Si nous allons pour plusieurs utilisateurs, le serveur va mourir. C'est pourquoi je veux exporter les pages en HTML (ce qui représente plus de 1000 pages) – Niger

3

Vous pouvez essayer d'utiliser la propriété CSS page-break-before pour définir des sauts de page dans votre source HTML.

Ensuite, permettre à votre utilisateur d'imprimer une gamme de pages comme il le ferait normalement.

+0

W00t - cela m'a mis plus de 10k. Les outils de modération sont soignés. – Triptych

+0

Ceci a seulement un support partiel dans la plupart des navigateurs. Bonne idée si cela fonctionnerait vraiment bien. – NotMe

Questions connexes