2010-05-04 6 views
2

Я пытаюсь решить аналогичную проблему, как описано here - создать службу Windows для съемки снимков с богатыми веб-страницами (html + js + flash) и сохранения их в файле PDF.Почему Flash не может быть отображен в службе Windows?

Пакет Firefox + cmdlnprint сделал трюк для меня. Я написал простую программу, которая работает как служба, которая вызывает Firefox для создания PDF-файла. Кажется, все хорошо, PDF создается, но Flash полностью отсутствует. Хотя, когда он запускается не как сервис, Flash просто отлично.

Может ли кто-нибудь пролить свет на то, что блокирует Flash от рендеринга и если есть обходной путь?

спасибо!

+0

Почему он должен работать как услуга? Загрузка веб-страницы (особенно, содержащей Flash-контент) в контексте LocalSystem - ужасная идея. – Luke

+0

Предполагается, что это серверное решение, которое должно работать, даже если ни один пользователь не вошел в систему. – Leonid

+0

@Leonid: Получили ли вы эту работу, так как я делаю то же самое. –

ответ

1

Я могу снимать только в темноте здесь, но две вещи приходят на ум:

  • Кто (какой пользователь) ваша служба работает как? Что произойдет, если вы запустите сервис под пользователем администратора?

  • Если ваша служба запущена на локальной системной учетной записи, вы включили флажок «Разрешить обмен данными между рабочим столом и сервисом» для службы (не знаете, как это называется на английском языке)? Вы никогда не знаете, что может понадобиться Flash.

Если это не сработает, вы смотрели на Crowbar и XULRunner? Я не знаю точно, делают ли они то, что вам нужно, и если они это сделают, работает ли Flash с ними, но они, похоже, подходят к тому же, что вы пытаетесь сделать.

+0

Я мог заставить его работать только под учетной записью пользователя на уровне администратора. Мне не повезло запустить службу под учетной записью LocalSystem с или без «Разрешить службе взаимодействовать с рабочим столом» - получалось сообщение, которое служба не разрешала печатать. Спасибо за предложение других решений, но похоже, что проблема заключается в самой Flash. Я попробовал другую утилиту под названием IECapt (iecapt.sourceforge.net) на основе IE, и она также не отображала Flash в сервисном режиме. – Leonid

+0

@ Leonid, поэтому он работает под учетной записью администратора как услугой? –

+0

Прошу прощения, я имел в виду, что я могу получить только PDF-файл, созданный в службе, запущенной под учетной записью администратора. У него все еще были пробелы вместо Flash. Если запустить службу в Localsystem, даже PDF не может быть сгенерирован. Таким образом, PDF + Flash работает только в пользовательском режиме без обслуживания. Я пытаюсь понять, почему это так. – Leonid

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