Konversi HTML ke PDF otomatis yang masuk akal (dalam lingkungan UNIX / Linux) [ditutup]


16

Apakah ada cara untuk menghasilkan dokumen PDF dari file HTML secara otomatis di Linux di mana PDF menawarkan tingkat kemiripan yang wajar dengan file input?

Alat baris perintah - yang bertentangan dengan GUI interaktif semacam itu - adalah kuncinya.

Saya sudah mencoba htmldocdan beberapa sepupu terkait, tentu saja. Tapi alat-alat ini zaman batu; htmldocsama sekali tidak mendukung CSS. Anda tidak akan menemukan banyak dokumen HTML hari ini yang tidak memiliki setidaknya beberapa style CSS. Saya tidak terlalu peduli dengan efek bodoh atau hiasan kecil, tetapi masalahnya adalah bahwa CSS adalah inti dari sebagian besar tata letak saat ini; tidak banyak orang yang menggunakan 6 lapisan tabel bersarang lagi. Jadi, jika alat konversi sama sekali tidak memahami CSS, itu bukan hanya masalah "dokumen tidak terlihat benar"; kemungkinan tidak memenuhi standar minimum kegunaan sama sekali.

Telah disarankan kepada saya oleh beberapa orang untuk mencoba menggunakan mesin rendering Tokek untuk menghasilkan gambar yang dapat dikonversi ke PDF, tetapi saya tidak tahu bagaimana cara melakukan hal ini, apalagi dengan mudah.

Saya tidak kesulitan mempercayai bahwa ada alat komersial yang bagus untuk melakukan ini, tetapi saya benar-benar mencari paket open-source jika memungkinkan, karena usaha itu sendiri adalah open-source dan tidak membayar.

Terima kasih sebelumnya!

Jawaban:


7

Pernahkah Anda melihat wkhtmltopdf ? Tidak dapat mengatakan seberapa baik kerjanya secara pribadi, tetapi sepertinya persis seperti yang Anda butuhkan. Hanya masalah yang mungkin terjadi, dengan solusi ini dan solusi 'otomatisasi browser' apa pun, bahwa ia akan mengambil lembar gaya cetak daripada tampilan layar sehingga PDF mungkin tidak persis seperti yang Anda lihat di layar.


Apa itu stylesheet cetak? Saya harus tidak terhubung dengan hal-hal baru terbaru dan terhebat dari dunia CSS.
Alex Balashov

Ini bukan hal yang baru, itu hanya menjadi praktis untuk sebagian besar situs web setelah mereka beralih ke CSS untuk tata letak, bukan tabel. Coba alistapart.com/articles/goingtoprint atau webcredible.co.uk/user-friendly-resources/css/… untuk pengantar.
robertc

2

Coba chm2pdf dengan python-beautifulsoup.


2

XHTML2PDF adalah toolset Python yang mencakup skrip baris perintah dan pustaka Python (jika Anda ingin menanamkan ini dalam sesuatu yang lebih besar tanpa keluar ke skrip.) Ini mendukung HTML / XHTML dan CSS, dengan tambahan gaya CSS khusus vendor untuk tweak output yang diformat (misalnya, nomor halaman, aliran paragraf, dll.)

Saya hanya menggunakannya sedikit untuk memproses beberapa dokumen HTML, tetapi berfungsi dengan baik, dan fitur-fiturnya tampak lengkap bagi saya. Manual disembunyikan di halaman demo, tetapi, itu sendiri, adalah contoh yang baik dari konversi dari dokumen HTML ke PDF.

Saya memiliki serangkaian tautan bagus ke contoh "sebelum" dan "setelah", tetapi saya baru saja membuat akun saya, dan, tampaknya, hanya spammer yang memasang lebih dari satu tautan di pos pertama mereka :-p


1

Saya ingin menghasilkan beberapa PNG dari halaman HTML dari baris perintah. Di suatu tempat saya menemukan skrip ruby yang menggunakan mozembed untuk menghasilkan tangkapan layar. Anda dapat menghapus garis skala jika Anda tidak ingin skalanya ditingkatkan.

Satu-satunya masalah yang saya lihat adalah halaman itu sebenarnya muncul di layar sesaat ...


Hm, ya. Bagian terakhir tampaknya sedikit pembunuh. Ini perlu dimasukkan ke dalam backend murni sisi-server; tidak ada display head atau apapun. Adakah cara untuk mencapai itu?
Alex Balashov

0

coba dompdf ia berfungsi dengan baik dari de command-line dan dengan contoh-contohnya ia bekerja dengan segala jenis html


0

PrinceXML. Dapat menangani CSS dengan baik. Tersedia versi Linux, Windows, Mac OS X. AFAICS, ini juga merupakan teknologi di balik output PDF Google Documents. Tapi perhatikan: ini payware.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.