Chcę przekonwertować stronę HTML na PDF formatu A4.phantomjs pasuje do strony A4
page.paperSize = {
format: 'A4',
orientation: 'portrait',
border: '1cm'
};
Czy istnieje sposób na skalowanie witryny do szerokości A4?
Jeśli mam następujący kod HTML:
<div style="width:1500px; text-align:right;">
right 1500px
</div>
prawym końcu div spada stronę.
Grałem z właściwością viewportSize
:
page.viewportSize = {
width: 480,
height: 800
};
Liczyłam, że większe wyniki szerokość rzutni w większej części strony są renderowane w formacie PDF.
page.zoom
Nie uzyskał również pożądanego efektu.
Pliki PDF są raportami. Aby uzyskać profesjonalny wygląd, powinny mieć format A4, a nie dowolny dowolny rozmiar.
Czy phantomjs jest niewłaściwym narzędziem do mojego problemu?
Używam phantomjs w wersji 1.9.7 na Ubuntu 12.04.4.
Edit:
Wydaje się, że istnieją trzy różne wymiary tutaj:
vieportSize
który jest rozmiar, który jest używany do renderowania, jak napisano w docspaperSize
, który jest wielkością wynikowego dokumentu PDF- , a następnie pojawia się rozmiar ekranu. phantomjs zawsze pasuje do szerokości jednego ekranu na rozmiarze papieru. Rozmiar ekranu mojej wersji phantomjs to 1024 x 768 pikseli. Jeśli port widoku jest większy niż rozmiar ekranu, wszystko poza 1024 pikselami nie jest wyświetlane.
Nie znalazłem jeszcze sposobu na zmianę rozmiaru ekranu.
Znalazłem to, renderując http://www.whatismyscreenresolution.com/
do PDF.
Można manipulować szerokością elementu/strony tak, aby pasowała do dokumentu. Pytanie brzmi, czy nadal będzie dobrze wyglądać. Którą wersję phantomjs i jakiego systemu operacyjnego używasz btw? –
I wolałbym nie projektować stron internetowych pod kątem wymagań phantomjs ... – pat
Oto kolejny wskaźnik: Można [symulować powiększenie strony] (http://stackoverflow.com/a/9441618/1816580), ale to prawdopodobnie potłucze twoją stronę. –