Відповіді:
Я щойно написав бібліотеку під назвою jsPDF, яка генерує PDF-файли, використовуючи лише Javascript. Він ще дуже молодий, і я незабаром додаю функції та виправлення помилок. Також отримано кілька ідей для вирішення проблем у веб-переглядачах, які не підтримують URI даних. Це ліцензія за ліберальною ліцензією MIT.
Я натрапив на це питання, перш ніж почав його писати, і подумав, що повернусь і повідомляю вас :)
Створення PDF-файлів у Javascript
Приклад створення 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>
Ще одна бібліотека javascript, яку варто згадати, - pdfmake .
Підтримка веб-переглядача не настільки сильна, як jsPDF, і, здається, не існує варіантів для форм, але параметри форматування тексту є більш досконалими, ніж параметри, доступні зараз у jsPDF.
Я підтримую PDFKit , який також надає повноваження pdfmake (вже згадувалося тут). Він працює як у вузлі, так і в браузері, і підтримує купу речей, які інші бібліотеки не:
Перегляньте http://pdfkit.org/, щоб отримати повний підручник, щоб переконатися, що може зробити PDFKit. А для прикладу того, які типи документів можуть бути виготовлені, ознайомтеся з документами у вигляді PDF, згенерованих із деяких файлів Markdown, використовуючи сам PDFKit: http://pdfkit.org/docs/guide.pdf .
Ви також можете спробувати його інтерактивно в браузері тут: http://pdfkit.org/demo/browser.html .
Ще один цікавий проект - texlive.js .
Це дозволяє компілювати (La) TeX в PDF у браузері.
Ви можете скористатися цією безкоштовною послугою, додавши посилання, яке створює pdf з будь-якого URL-адреси (наприклад, http://www.phys.org ):
Навіть якщо ви могли створити пам'ять PDF в JavaScript, у вас все одно виникне питання, як передати ці дані користувачеві. Для JavaScript важко просто натиснути файл на користувача.
Щоб отримати файл користувачеві, вам потрібно зробити подання сервера, щоб браузер відкрив діалогове вікно збереження.
Зважаючи на це, генерувати PDF-файли насправді не так вже й складно. Просто прочитайте специфікацію.