Voglio convertire una pagina HTML in un PDF in formato A4.phantomjs adattano il contenuto alla pagina A4
page.paperSize = {
format: 'A4',
orientation: 'portrait',
border: '1cm'
};
C'è un modo per ridimensionare il sito Web in modo che si adatti alla larghezza di A4?
Se ho il seguente codice HTML:
<div style="width:1500px; text-align:right;">
right 1500px
</div>
L'estremità destra del div cade fuori dalla pagina.
Ho giocato con la proprietà viewportSize
:
page.viewportSize = {
width: 480,
height: 800
};
mi sarei aspettato che un grande risultato larghezza finestra in una parte più grande della pagina viene eseguito il rendering in PDF.
page.zoom
Inoltre, non ha avuto l'effetto desiderato.
I file PDF sono report. Per un aspetto professionale dovrebbero essere A4 e non qualsiasi dimensione arbitraria.
Oppure phantomjs è lo strumento sbagliato per il mio problema?
Sto usando phantomjs versione 1.9.7 su Ubuntu 12.04.4.
Edit:
Sembra che ci sono tre diverse dimensioni qui:
vieportSize
che è la dimensione che viene utilizzata per il rendering, come scritto nella documentazionepaperSize
che è la dimensione del documento PDF risultante- e quindi c'è il dimensione dello schermo. phantomjs si adatta sempre alla larghezza di uno schermo sulla dimensione della carta. La dimensione dello schermo della mia versione di phantomjs è 1024 x 768 pixel. Se la porta di visualizzazione è più grande della dimensione dello schermo, tutto ciò che non è compreso tra 1024 pixel non viene visualizzato.
Non ho ancora trovato un modo per modificare le dimensioni dello schermo.
Ho trovato questo rendendo http://www.whatismyscreenresolution.com/
in PDF.
È possibile modificare la larghezza dell'elemento/pagina in modo che si adatti al documento. La domanda è se questo sarebbe ancora bello. Quale versione di phantomjs e quale sistema operativo usi btw? –
E preferirei non dover progettare i miei siti web in base ai requisiti di phantomjs ... – pat
Ecco un altro puntatore: si potrebbe [simulare uno zoom di pagina] (http://stackoverflow.com/a/9441618/1816580), ma questo probabilmente romperà la tua pagina orribilmente. –