2010-02-07 13 views
10

Qual è il codice CSS per eseguire un'interruzione di pagina durante la stampa? O meglio ancora, c'è qualche quadro CSS di stampa come JQuery è per la manipolazione del DOM delle pagine web? Ho bisogno di stampare pagine web con controllo come Adobe PDF, ma senza usare un plug-in di terze parti. Stampe devono essere precisi, come il controllo ciò pixel colpito la parte superiore di ogni pagina, (se vogliamo mettere il nostro logo su ogni intestazione di pagina, per esempio.Qual è il codice CSS per eseguire interruzioni di pagina per la stampa di pagine Web?

Tutte le idee?

risposta

16

page-break-before: always;

page-break-after: always;

6

si può cercare di forzare un'interruzione di pagina utilizzando le proprietà page-break-before or page-break-after.

controllo della stampa del pixel-perfect sarà molto, molto difficile da raggiungere. ad esempio, ogni sopracciglia er aggiunge un piè di pagina e una sezione di intestazione che non puoi influenzare e che solo l'utente può disattivare. I browser ignorano le immagini di sfondo e tendono a impostare i margini come ritengono opportuno.

Per una carrellata su come stile HTML per la stampa, questo articolo Smashing Magazine possono fornire alcune indicazioni: Printing the Web: Solutions and Techniques

1

Il w3schools.com ha una portata di mano CSS Reference. Dal momento che molti di noi non ricordano molte proprietà di css non comuni, spero che questo sia utile per te.

3

Il supporto del browser per la stampa è molto debole, nella migliore delle ipotesi. Ad esempio, ottenere qualcosa di simile all'immagine di un'intestazione di pagina al lavoro sarà piuttosto difficile; Non conosco alcun browser che supporti anche la dichiarazione CSS "@page", per non parlare delle funzionalità del contenuto in esecuzione di CSS3.

Il toolkit FlyingSaucer PDF per Java, d'altra parte, svolge un notevole lavoro di trasformazione dell'XHTML in PDF (soprattutto dato che è gratuito). Lo usiamo con Freemarker per modellare la "pagina", ma gestisce le immagini, eseguendo il testo di intestazione/piè di pagina, anche i collegamenti intra-documento.

1

Non è possibile ottenere la precisione di stampa a livello di pixel da un browser. L'unica opzione è PDF o simile formato di documento di terze parti. Tuttavia, se vuoi solo assicurarti che un logo sia nella parte superiore di una pagina rispetto alla fine del successivo, puoi usare le proprietà page-break-before, page-break-after

2

Non sono sicuro di cosa lingua del server che stai usando, ma ho avuto un grande successo con wkhtmltopdf e wicked_pdf per Ruby on Rails.

Problemi correlati