Создать PDF для печати из HTML Дом - PullRequest
6 голосов
/ 17 марта 2012

У меня есть веб-страница, на которой динамически создается достаточное количество контента (jquery ajax и т. Д.), И я должен представить ее версию для печати.Я сталкиваюсь со всеми обычными проблемами, касающимися html / printing, которые я, вероятно, (учитывая время) могу обойти, но это заставило меня задуматься - есть ли способ взять DOM и сгенерировать из него PDF, используя javascript.Это, вероятно, немного глупый вопрос - звучит немного хитро, и я не слишком уверен, даже если бы я мог создать PDF-файл, используя javascript, как я бы затем представил его пользователю.Что думают люди?

Ответы [ 2 ]

2 голосов
/ 17 марта 2012
var doc = new jsPDF();
doc.text(20, 20, 'Hello world!');
doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
doc.addPage();
doc.text(20, 20, 'Do you like that?');
// Output as Data URI
doc.output('datauri');

https://parall.ax/products/jspdf, думаю, это вам поможет

0 голосов
/ 17 марта 2012

Это - вопрос, который я задал несколько дней назад относительно подобного типа сайта / проблемы.

Мое решение было: (1) в Javascript установить cookie, а затем вызвать скрипт PHP, используя location.href = ...; (не AJAX), а затем (2) иметь PHP-скрипт для доступа к cookie для определениятребуется какой-то отчет, а затем выведите форму, которая предлагает пользователю загрузить файл, используя правильные заголовки.PHP был чем-то вроде следующего:

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=test.doc");

echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "Testing-2-3!";
echo "</body>";
echo "</html>";

Было невозможно получить то, что я хотел, используя AJAX, потому что AJAX никогда не позволяет вам подсказывать пользователю.

Вы можете использовать этот метод, чтобы сделать нечто подобное, но в вашем случае вы сгенерируете PDF, а не файл .doc (или скачаете предварительно подготовленный).

Одно преимуществоэтот метод, конечно, заключается в том, что он не требует перезагрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...