Maaf telah menggali posting lama ini, tetapi ini muncul pertama kali dalam pencarian saya untuk alat konversi HTML/PDF terbaik. Di Linux wkhtmltopdf sangat bagus (mempertimbangkan CSS, antara lain) dan GPL.
Pembaruan 2019-05
Syukurlah seluruh proses telah dikemas ke dalam gambar buruh pelabuhan oleh TheCodingMachine:https://github.com/thecodingmachine/gotenberg
Hal ini membuat pemeliharaan dan penggunaan pembuatan pdf berbasis chrome di lingkungan produksi benar-benar lancar dan bebas gangguan.
Ada mode headless baru sejak Chrome 59. Karena semua solusi lain benar-benar berjuang dengan fitur CSS yang lebih baru (atau tidak begitu baru lagi) seperti flexbox, dalam kasus saya ini adalah satu-satunya solusi untuk menghasilkan keluaran PDF yang tepat.
Untuk membuat pdf dari file html lokal cukup gunakan perintah berikut:chrome --headless --disable-gpu --print-to-pdf file:///path/to/myfile.html
.
Untuk Mac OS ganti chrome
dengan /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
.
Satu-satunya downside yang saya perhatikan sejauh ini adalah (saat ini) Anda tidak dapat meneruskan html melalui stdin, tetapi membuat file sementara tidak terlalu menjadi masalah.
Untuk informasi selengkapnya, lihat https://developers.google.com/web/updates/2017/04/headless-chrome#create_a_pdf_dom
Pembaruan:Ternyata, orang-orang chrome kemungkinan besar akan menyediakan semacam modul simpul untuk tugas ini, yang pada akhirnya akan menghentikan mode tanpa kepala (https://bugs.chromium.org/p/chromium/issues/detail?id =719921).
Taruhan terbaik adalah menggunakan pendekatan berbasis node menggunakan puppeteermodule seperti yang didokumentasikan di bawah https://developers.google.com/web/updates/2017/04/headless-chrome#node dan mencetak halaman melalui perintah Page.printToPDF , yang memungkinkan beberapa konfigurasi tambahan juga.
Tentu saja, Anda juga dapat terhubung ke soket web konsol debug dari lingkungan selain node (yaitu skrip PHP).
CATATAN:Jawaban ini dari tahun 2008 dan mungkin sekarang salah; silakan periksa jawaban lainnya
PrinceXML adalah yang terbaik yang pernah saya lihat (mem-parsing HTML biasa serta XML/XHTML). Bagaimana ini yang terbaik? Yah, itu lulus uji asam2 yang menurut saya sangat mengesankan
Namun, cukup mahal
WeasyPrint menghasilkan PDF yang bagus dengan teks dan hyperlink yang dapat dipilih.
weasyprint input.html output.pdf
Jika Anda menggunakan wkhtmltopdf
sebagai gantinya, coba opsi berikut:
wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...