Печать на стороне сервера в формате PDF с помощью Flash? - PullRequest
2 голосов
/ 19 февраля 2009

Кто-нибудь знает о серверной технологии, которая может печатать / сохранять веб-страницу в PDF, включая встроенные компоненты Flash?

По сути, я хотел бы смоделировать печать на стороне клиента для функциональности PDF, но на сервере реализовать ссылку «Загрузить PDF», но я не верю, что решения HTML в PDF поддерживают Flash.

1 Ответ

1 голос
/ 19 февраля 2009

Может быть ... если вы можете открыть окно на сервере. Попробуйте это: Get SWT (содержит компонент браузера). Используйте фрагмент браузера , чтобы убедиться, что он может отображать Flash (подробности о том, как заставить работать плагины см. В разделе часто задаваемых вопросов ниже) Если это так, то вы можете использовать JavaScript для печати :

browser.execute("window.print();");

В Unix этого должно быть достаточно. В Windows вам необходимо установить драйвер принтера PDF и использовать инструмент автоматизации пользовательского интерфейса, чтобы нажать кнопку «ОК» в диалоговом окне печати. ​​

См. SWT FAQ для получения подробной информации о том, как заставить виджет браузера работать в различных средах.

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

Я использовал эту технологию для создания скриншотов всех страниц нашего веб-приложения, нажав кнопку (откройте URL, дождитесь его загрузки, скопируйте основной чертеж, сохраните изображение в файл).

В качестве альтернативы, вы можете использовать мост ActiveX для встраивания Internet Explorer в приложение Java через JDIC . Затем приложение может ждать запросов на удаленную печать.

[EDIT] В качестве альтернативы, если у вас есть решение HTML-> PDF, в котором отсутствует поддержка Flash, просто откройте элемент Flash во встроенном браузере. Сохраните снимок экрана виджета браузера как изображение и измените HTML-код, чтобы использовать изображение вместо реального Flash (найдите тег embed и замените его на img).

[EDIT2] Если SWT не работает, взгляните на QtJambi (который содержит WebKit). Обратите внимание, что QtJambi в настоящее время находится в процессе миграции на LGPL. Я не уверен, что плагин Flash работает в WebKit.

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