Подтвердить что ты не робот

Конвертировать HTML (с Javascript) в PDF с использованием JavaScript

Я хочу преобразовать HTML (содержащий JavaScript) в PDF. Как я могу это сделать?

Я просто хочу показать, что отображается на веб-странице. Я показываю диаграмму gantt, которая генерируется библиотекой JavaScript.

Теперь я хочу сохранить эту веб-страницу HTML в формате PDF, как это сделать?

4b9b3361

Ответ 1

Мы также ищем способ конвертировать html файлы со сложным javascript в pdf. Javasript в наших файлах содержит document.write и DOM-манипуляции.

Мы попытались использовать комбинацию HtmlUnit для анализа файлов и Flying Saucer, чтобы сделать PDF, но результаты не являются достаточно удовлетворительными. Он работает, но в нашем случае pdf недостаточно близко к тому, что хочет пользователь.

Если вы хотите попробовать это, вот фрагмент кода для преобразования локального html файла в pdf.

URL url = new File("test.html").toURI().toURL();
WebClient webClient = new WebClient(); 
HtmlPage page = webClient.getPage(url);

OutputStream os = null;
try{
   os = new FileOutputStream("test.pdf");

   ITextRenderer renderer = new ITextRenderer();
   renderer.setDocument(page,url.toString());
   renderer.layout();
   renderer.createPDF(os);
} finally{
   if(os != null) os.close();
}

Ответ 3

Используйте виджет обозревателя (как тот, что из SWT), чтобы отобразить диаграмму как изображение, а затем используйте iText, чтобы создать PDF из этого.

Ответ 5

Используя пункт меню браузера Print..., вы можете использовать драйвер принтера PDF, например PDFCreator. Таким образом, любой JavaScript, включенный в страницу, обрабатывается браузером при визуализации страницы.

PDFCreator - бесплатный инструмент для создания PDF файлов практически из любого приложения Windows.

  • Создание PDF файлов из любой программы, которая умеет печатать

Ответ 6

С Docmosis или JODReports вы можете отправить HTML и Javascript в процесс рендеринга документа, который может создавать PDF или doc или другие форматы. Преобразование под ним выполняется OpenOffice, поэтому результаты будут зависеть от фильтров импорта OpenOffice. Вы можете попробовать вручную, сохранив вашу веб-страницу в файл, а затем загрузив OpenOffice - если это будет выглядеть достаточно хорошо, тогда эти инструменты смогут дать вам тот же результат, что и PDF.

Ответ 7

Скопируйте и вставьте это на свой сайт, чтобы предоставить ссылку, которая преобразует страницу в PDF-страницу.

<a href="javascript:void(window.open('http://www.htmltopdfconverter.net/?convert='+window.location))">Convert To PDF</a>

Ответ 9

PhantomJS имеет потенциал для достижения этой цели, когда он захватывает функциональность, которая также поддерживает PDF.

В случае, если вы хотите что-то взаимодействующее в командной строке; Я попытался создать приложение для Nota (все еще в нем находится младенец). Это позволяет JavaScript визуализировать/манипулировать, а затем захватывать страницу как PDF.

Ответ 10

Отметьте http://www.techumber.com/2015/04/html-to-pdf-conversion-using-javascript.html

В основном вам нужно использовать html2canvas и jspdf, чтобы заставить его работать. Сначала вы преобразуете свой дом в изображение, а затем вы будете использовать jspdf для создания pdf с изображениями.

EDIT: Краткая заметка о том, как она работает. Для выполнения этой работы мы будем использовать две библиотеки. http://html2canvas.hertzen.com/ и https://github.com/MrRio/jsPDF Сначала мы создадим образ dom с помощью html2canvas, мы будем использовать метод jspdf addImage для добавления этого изображения в pdf. Кажется простым, но есть несколько ошибок в jsPdf и html2cavas, поэтому вам может потребоваться временно изменить стиль dom. Надеюсь, это поможет.

Ответ 11

Вы можете сделать это, используя плагин jquery,

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

Используйте этот код, чтобы связать кнопку...

$(document).ready(function() {
    $("#button_id").click(function() {
        window.print();
        return false;
    });
});

Эта ссылка может быть полезна: 10 jQuery PrintPdf Параметры страницы