Saya perlu membuat file PDF secara otomatis dari dokumen HTML (X) yang ada. File input (laporan) menggunakan tata letak berbasis tabel yang agak sederhana, jadi dukungan untuk hal-hal JavaScript / CSS yang sangat bagus mungkin tidak diperlukan.
Karena saya terbiasa bekerja di Jawa, solusi yang dapat dengan mudah digunakan dalam proyek-java lebih disukai. Hanya perlu bekerja pada sistem windows.
Salah satu cara untuk melakukannya adalah layak, tetapi tidak menghasilkan output berkualitas baik (setidaknya di luar kotak) adalah menggunakan CSS2XSLFO , dan Apache FOP untuk membuat file PDF. Masalah yang saya temui adalah bahwa sementara atribut CSS dikonversi dengan baik, tata letak tabel cukup kacau, dengan teks yang mengalir keluar dari sel tabel.
Saya juga melihat Jrex, Java-API untuk menggunakan mesin rendering Gecko.
Apakah mungkin ada cara untuk mengambil halaman yang dirender dari mesin rendering penjelajah internet dan mengirimkannya ke alat PDF-Printer secara otomatis? Saya tidak punya pengalaman dalam pemrograman OLE di windows, jadi saya tidak tahu apa yang mungkin dan apa yang tidak.
Anda punya ide?
sumber
Jawaban:
The Flying Saucer XHTML proyek penyaji memiliki dukungan untuk keluaran XHTML ke PDF. Lihat contoh di sini .
sumber
Apakah Anda mencoba WKHTMLTOPDF ?
Ini adalah utilitas shell sederhana, implementasi open source dari WebKit. Keduanya gratis.
Kami telah menetapkan tutorial kecil di sini
EDIT (2017):
Jika itu untuk membangun sesuatu hari ini, saya tidak akan pergi ke rute itu lagi.
Tetapi akan menggunakan http://pdfkit.org/ sebagai gantinya.
Mungkin menghapus semua dependensi nodejs-nya, untuk berjalan di browser.
sumber
Lihat itext ; itu adalah Java PDF toolkit murni yang memiliki dukungan untuk membaca data dari HTML. Saya menggunakannya baru-baru ini dalam sebuah proyek ketika saya perlu menarik konten dari CMS kami dan mengekspor sebagai file PDF, dan itu semua cukup mudah. Dukungan untuk CSS dan tag gaya sangat terbatas, tetapi membuat tabel tanpa masalah (saya tidak pernah berhasil mengatur lebar kolom).
Membuat PDF dari HTML berlangsung seperti ini:
sumber
Jika Anda memiliki dana, tidak ada yang mengalahkan Prince XML seperti yang ditunjukkan video ini
sumber
Ini adalah cara ActivePDF bekerja, yang bagus berarti Anda tahu apa yang akan Anda dapatkan, dan itu sebenarnya memiliki dukungan gaya yang wajar.
Ini juga salah satu dari beberapa paket yang saya temukan (ketika mencari beberapa tahun yang lalu) yang sebenarnya mendukung berbagai perintah CSS page-break.
Sayangnya, perangkat lunak ActivePDF sangat membuat frustrasi - karena harus meluncurkan browser IE di latar belakang untuk konversi itu bisa sangat lambat, dan itu tidak terlalu stabil juga.
Ada versi baru saat ini dalam Beta yang seharusnya jauh lebih baik, tetapi saya belum benar-benar memiliki kesempatan untuk mencobanya, jadi tidak tahu berapa banyak peningkatan itu.
sumber
Anda dapat menggunakan firefox tanpa kepala dengan ekstensi. Sangat menjengkelkan untuk menjalankannya tetapi menghasilkan hasil yang baik.
Lihatlah jawaban ini untuk info lebih lanjut.
sumber
Jika Anda melihat bilah samping dari pertanyaan Anda, Anda akan melihat banyak pertanyaan terkait ...
Dalam konteks Anda, metode yang lebih sederhana mungkin dengan menginstal driver cetak PDF seperti PDFCreator dan cukup cetak halaman untuk output ini.
sumber
Amyuni WebkitPDF dapat digunakan dengan JNI untuk solusi khusus Windows. Ini adalah perpustakaan konversi HTML ke PDF / XAML, gratis untuk penggunaan komersial dan non-komersial.
Jika file output tidak diperlukan segera, untuk skalabilitas yang lebih baik mungkin lebih baik untuk memiliki antrian dan beberapa proses latar belakang mengambil item dari sana, mengonversinya dan menyimpannya kemudian pada database atau sistem file.
disclaimer biasa berlaku
sumber