Używam htmldoc przez jakiś czas, ale napotkałem dość poważne ograniczenia. Potrzebuję rozwiązania końcowego do pracy na Linuksie. Będę wywoływać tę bibliotekę/narzędzie/aplikację z aplikacji Perla, więc wszelkie interfejsy Perla będą dodatkiem.Jak mogę zautomatyzować konwersję HTML na PDF?
Odpowiedz
PrinceXML to najlepszy, jaki widziałem (analizuje zwykły HTML oraz XML/XHTML). Jak to jest najlepsze? Well, it passes the acid2 test które moim zdaniem było cholernie imponujące
Jest to jednak dość kosztowne
To byłoby całkowite przesada, ale można pobrać i zainstalować mirth. Jest to silnik routingu wiadomości, ale ma możliwość konwersji html na pdf, więc możesz ustawić go tak, aby pobierał plik html w folderze, konwertował do formatu pdf i upuszczał plik PDF w tym samym lub innym folderze. Tak jak mówiłem, przesada, trochę krzywej uczenia się, ale jest darmowa i java, więc możesz uruchomić ją na Linuksie, jeśli chcesz. A wszystko, co powinna zrobić twoja aplikacja perl, to zrzucenie pliku html do pliku.
Zrobiłem dla ciebie trochę wyszukiwania i wymyśliłem dwie opcje. Mogło być więcej, moja strategia google polegała na wypróbowaniu "wiersza poleceń w webkit pdf" i "wiersza polecenia gecko pdf", po prostu szukając programów z poleceniami, które osadzają dwa popularne silniki renderujące o otwartym kodzie źródłowym w renderers wiersza poleceń. Oto co znalazłem:
Firefox command-line printer - wyjścia do PDF i PNG
wkpdf - jednocześnie jest to dla Mac, to chyba całkiem przenośny.
Niestety, by odkryć ten stary post, ale okazało się, najpierw w moim poszukiwaniu najlepszego narzędzia konwersji HTML/PDF. Na Linuksie wkhtmltopdf jest bardzo dobry (bierze pod uwagę CSS między innymi) i GPL.
Aby wesprzeć twój punkt, 1) działa jak zaklęcie 2) korzysta z mechanizmu renderowania Webkit, a qt co oznacza, że może korzystać z aktualizacji. Chociaż ostatni RC został wydany w lutym 2011. – kommradHomer
doskonałe oprogramowanie, dzięki – RockScience
Aby zaktualizować komentarz @ kommradHomer, projekt jest nadal aktywny; najnowsza stabilna wersja została wydana w zeszłym miesiącu. Jest również dostępny w oficjalnych repozytoriach Ubuntu, ale w momencie pisania kilku wersji z tyłu. – Arild
Możesz chcieć sprawdzić "Usługa konwersji dokumentów" przez Peernet (pod numerem http://www.peernet.com/conversion-software/batch-document-converter/). Działa to jako usługa na komputerze z systemem Windows lub Windows Server. Otwiera dokumenty HTML w przeglądarce internetowej, a następnie drukuje je za pomocą sterownika drukarki w celu utworzenia dokumentów PDF, tak aby dokument PDF wyglądał dokładnie tak, jakbyś wydrukował dokument HTML z przeglądarki.
Trzeba spojrzeć na http://phantomjs.org/
konwersji można zrobić przez mały skrypt rasterize.js a następnie wydawanie
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
WeasyPrint produkuje ładne plików PDF z możliwością wyboru tekstu i linków.
weasyprint input.html output.pdf
Jeśli używasz wkhtmltopdf
Zamiast tego, spróbuj następujących opcji:
wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...
To powinna być wybrana odpowiedź, jest darmowa, open-source, i tak, wyniki są fenomenalne! Wysoce polecany. – FlorianB
Jest nowy tryb bezgłowy od Chrome 59. Jak wszystkie inne rozwiązania naprawdę walczyć z nowszych (lub już nie tak nowy) Funkcje CSS, takie jak Flexbox, w moim przypadku było to jedyne rozwiązanie pozwalające uzyskać prawidłowe wyjście PDF.
Aby utworzyć plik pdf z lokalnego pliku html, należy użyć następującej komendy: chrome --headless --disable-gpu --print-to-pdf file:///path/to/myfile.html
.
Dla systemu Mac OS pod nazwą chrome
z /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
.
Jedyną wadą, jaką zauważyłem do tej pory, jest to, że (obecnie) nie można przekazać html przez stdin, ale utworzenie tymczasowego pliku nie stanowi większego problemu.
Więcej informacji można znaleźć https://developers.google.com/web/updates/2017/04/headless-chrome#create_a_pdf_dom
Update: Jak się okazuje, Chrome faceci najprawdopodobniej zapewnić jakiś moduł węzła do tego zadania, które w końcu potępiać tryb bezgłowe (https://bugs.chromium.org/p/chromium/issues/detail?id=719921).
Najlepszym rozwiązaniem byłoby zastosowanie podejścia opartego na węzłach przy użyciu modułu lalkarza , zgodnie z dokumentacją pod numerem https://developers.google.com/web/updates/2017/04/headless-chrome#node i wydrukowanie strony za pomocą polecenia Page.printToPDF, które umożliwia również dodatkową konfigurację.
Oczywiście można również połączyć się z websocket konsoli debugowania z dowolnego innego środowiska niż węzeł (to znaczy skrypt PHP).
- 1. Jak mogę zautomatyzować wdrożenia Node.js?
- 2. Jak mogę zautomatyzować zadania w Xcode?
- 3. Android - jak przekonwertować html na pdf?
- 4. Jak zezwolić na niejawną konwersję?
- 5. Json na konwersję avro
- 6. Jak zautomatyzować testowanie instalatora
- 7. Jak zautomatyzować generowanie wyjścia HTML w Enterprise Architect
- 8. Używanie iText do konwersji HTML na PDF
- 9. Konwersja plików PDF na HTML w PHP?
- 10. Jak zautomatyzować aplet Javy?
- 11. Konwersja PDF do HTML
- 12. Konwersja html na pdf w php?
- 13. Kodowanie MIME pliku PDF na stronie HTML
- 14. Konwersja HTML na PDF za pomocą PHP?
- 15. Jak zautomatyzować konfigurację projektu IntelliJ
- 16. Android int na konwersję szesnastkową
- 17. Jak przekonwertować prosty html na pdf za pomocą wkhtmltopdf?
- 18. jak stworzyć wielostronicowy PDF z HTML
- 19. Jak przekonwertować HTML na PDF za pomocą iText
- 20. Jak przekonwertować kod HTML na PDF za pomocą narzędzia Perl?
- 21. JasperReports wyjście html i pdf
- 22. Jak eksportować stronę html do formatu pdf?
- 23. Jak rozwiązać konwersję macierzy współzmiennej?
- 24. przekonwertuj HTML (z Javascript) na PDF przy użyciu JavaScriptu
- 25. Nie można przekonwertować typu poprzez konwersję referencyjną, konwersję boksu, konwersję rozpakowywania, konwersję owijającą lub konwersję typu null
- 26. Jak przekonwertować HTML na XHTML?
- 27. Konwersja plików PDF na HTML za pomocą Pythona
- 28. Jaki jest lepszy sposób na konwersję prostej aplikacji Sinatra na statyczne strony html?
- 29. HTML JavaScript do istniejącego pliku PDF
- 30. Konwersja pliku PDF do HTML w C#
Miałem ten sam problem. Niedawno oceniłem Księcia XML i mogę ręczyć za to, że jest to CAŁKOWICIE świetna aplikacja. Szybkość i jakość wyników są po prostu niewiarygodne. – cletus
Po co płacić wiele tysięcy dolarów, gdy dostępne jest darmowe oprogramowanie o otwartym kodzie źródłowym, które również przechodzi test Acid 2? http://weasyprint.readthedocs.io WeasyPrint bardzo zalecane. Fenomenalne wyniki. – FlorianB