2010-12-11 2 views
0

Мне было интересно, если бы какой-либо способ превратить всю HTML-страницу в png (или другой вид изображения?) Я пытаюсь создать PDF-файлы «на лету», но он тянет мои стили как текст, но я хочу стили остаются такими же, как и страница (cufon и все). Любая помощь будет оценена! :)превратить веб-страницу в изображение на лету?

+0

Некоторые браузеры поддерживают возможность печати документа в формате PDF. Вы пробовали это? – strager

+0

Я пытаюсь сделать это на лету, поэтому создается страница в pdf, затем открывается/скачана пользователем. – SoulieBaby

+0

О, так автоматизированное решение? Работает ли такая служба, как [Browsershots] (http://browsershots.org/)? – strager

ответ

0

Это не выглядит просто. Бэкэнд (PHP и т. Д.) Не выполняет рендеринг, макет. Он просто генерирует контент.

Макет и визуальные аспекты веб-сайта выполняются вашим клиентом (браузером), а бэкэнд не имеет доступа к этому.

Однако, учитывая HTML-файл, есть библиотеки, которые могут отображать его в формате PDF, например Prince XML, который, по-видимому, способен на это.

0

Единственный способ создания изображения, идентичного или даже близкого к тому, что посетитель видит в своем браузере при просмотре вашего сайта, - это запустить браузер и сделать снимок экрана. Для рендеринга страницы необходим механизм рендеринга браузера. Все библиотеки, которые вы обнаружите, чтобы сделать это без браузера, создают нечто гораздо большее, чем то, что видит посетитель, и не будут отображать cufon или другие причудливые вещи вообще.

Компании, предлагающие предварительный просмотр скриншотов веб-страницы, теперь запускают множество серверов, каждый из которых запускает много виртуальных ПК, каждый из которых имеет полную операционную систему и настоящий веб-браузер. У них есть все те системы, которые занимаются работой, открывая веб-страницы в реальных браузерах, снимая скриншоты и сохраняя изображения. Вы не будете копировать это с помощью небольшого PHP-скрипта.

http://ipinfo.info/html/rendering_services.php

0

Включение веб-страницы в изображения и PDF-файлов является королевская боль с помощью PHP. Решения часто требуют сценариев уровня ОС, поддельных драйверов принтера или захвата экрана, что может привести к довольно хрупкой настройке. Несколько лет назад я столкнулся с тем же вопросом и начал работать над собственным расширением PHP, которое использовало механизм Gecko для рендеринга HTML в PDF, но так и не закончил.

Лучший ответ, который я видел, не довольно превратить полную веб-страницу в PDF, а вместо этого XML в PDF. XEP by RenderX - это коммерческий инструмент, который Apple использует для создания документации разработчика во многих форматах, включая HTML и красиво оформленные PDF-файлы, из источника XML. Самое замечательное в использовании инструмента XEP в сочетании с PHP заключается в том, что PHP очень хорошо работает с XML, поэтому вы можете передавать сгенерированный XML в двоичный файл XEP, пусть он выполняет преобразование в PDF, а затем обрабатывает полученный PDF-файл в PHP.

0

подумать о создании обычного файла PDF, который напоминает веб-страницы:

PHP::PDF - Построив с помощью PHP.
PDF Reference - структура файла.

Смежные вопросы