Динамический HTML к PDF

Я должен быть в состоянии преобразовать динамический HTML (HTML, который представляется на загрузке страницы JavaScript) к PDF. Я знаю, что существует много HTML к преобразователям PDF, но ни один из тех, которых я нашел к настоящему времени, не справляется с динамическим HTML.

Данный инструмент должен быть в состоянии успешно преобразовать следующую страницу - http://www.simile-widgets.org/timeline/

Аплодисменты Anthony

ОБНОВЛЕНИЕ:

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

9
задан vdh_ant 25 February 2010 в 03:59
поделиться

4 ответа

Это невозможно сделать. Интерфейсы, доступные для скриптов в PDF, чрезвычайно ограничены по сравнению с полным доступом к DOM и BOM, который вы получаете в веб-браузере. Такое взаимодействие, которое вы можете достичь в PDF, нелегко перевести из того, как оно работает в браузере, и почти наверняка потребует ручной разработки.

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

Редактировать:

Я просто хочу, чтобы финальный рендеринг экрана был зафиксирован в PDF.

Ах, хорошо, тогда это гораздо более простая и более распространенная проблема.

В этом случае вам придется использовать и автоматизировать настоящий веб-браузер (например, Firefox) или набор инструментов, который обеспечивает всю логику веб-браузера (например, WebKit), а затем либо:

  • экспорт в PDF, либо с помощью встроенных инструментов, таких как «Печать в файл» в Firefox (с включенными фоновыми изображениями / цветами) или одной из надстроек для экспорта PDF, либо

  • сделайте снимок изображения не из браузера (и включите изображение в PDF-файл, если необходимо)

См. эти вопросы для обсуждения моментальных снимков браузера.

1
ответ дан 5 December 2019 в 04:17
поделиться

Вы можете использовать URI javascript для предупреждения текущей модели DOM. например:

javascript:alert("<html>" + document.documentElement.innerHTML + "</html>")

Скопируйте HTML и сохраните в файл.
Затем запустите его через конвертер HTML2PDF.

0
ответ дан 5 December 2019 в 04:17
поделиться

Попробуйте xhtml2pdf. Вот страница проекта на python.org

-1
ответ дан 5 December 2019 в 04:17
поделиться

Тот факт, что в нем вообще используется JavaScript, означает, что многие конвертеры не будут работать. JavaScript может быть простым, но вам все равно нужен интерпретатор для его обработки.

Я не использовал его для себя, но вы можете попробовать wkhtmltopdf. Он использует движок рендеринга webkit и, как мне кажется, включает полную поддержку javascript. Вам потребуется возможность установить программное обеспечение и запустить исполняемый файл, но в остальном все должно быть довольно просто.

0
ответ дан 5 December 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: