Jawaban:
Saya baru saja menulis perpustakaan bernama jsPDF yang menghasilkan PDF menggunakan Javascript saja. Ini masih sangat muda, dan saya akan segera menambahkan fitur dan perbaikan bug. Juga mendapat beberapa ide untuk penyelesaian masalah di browser yang tidak mendukung URI Data. Ini dilisensikan di bawah lisensi MIT liberal.
Saya menemukan pertanyaan ini sebelum mulai menulis dan berpikir saya akan kembali dan memberi tahu Anda :)
Contoh membuat file PDF "Hello World".
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
Pustaka javascript lain yang layak disebut adalah pdfmake .
Dukungan peramban tampaknya tidak sekuat jsPDF, juga tampaknya tidak ada opsi untuk bentuk, tetapi opsi untuk memformat teks lebih maju daripada opsi yang saat ini tersedia di jsPDF.
Saya memelihara PDFKit , yang juga mendukung pdfmake (sudah disebutkan di sini). Ia bekerja di Node dan browser, dan mendukung banyak hal yang tidak dimiliki perpustakaan lain:
Lihatlah http://pdfkit.org/ untuk tutorial lengkap untuk melihat sendiri apa yang dapat dilakukan PDFKit. Dan untuk contoh jenis dokumen apa yang dapat diproduksi, lihat dokumen sebagai PDF yang dihasilkan dari beberapa file Markdown menggunakan PDFKit itu sendiri: http://pdfkit.org/docs/guide.pdf .
Anda juga dapat mencobanya secara interaktif di browser di sini: http://pdfkit.org/demo/browser.html .
Proyek menarik lainnya adalah texlive.js .
Hal ini memungkinkan Anda untuk mengkompilasi (La) TeX ke PDF di browser.
Anda dapat menggunakan layanan gratis ini dengan menambahkan tautan yang membuat pdf dari url apa pun (mis. Http://www.phys.org ):
Bahkan jika Anda dapat menghasilkan memori dalam PDF dalam JavaScript, Anda masih akan memiliki masalah tentang cara mentransfer data tersebut ke pengguna. Sulit bagi JavaScript untuk hanya mendorong file ke pengguna.
Untuk mendapatkan file kepada pengguna, Anda ingin melakukan pengiriman server untuk mendapatkan browser untuk membuka dialog simpan.
Dengan itu, sebenarnya tidak terlalu sulit untuk menghasilkan PDF. Baca saja speknya.