2010-05-04 52 views
2

我试图解决类似于here所述的问题 - 创建一个Windows服务,用于拍摄富网页(html + js + flash)的快照并将其保存为PDF文件。为什么Flash无法在Windows服务中呈现?

捆绑Firefox + cmdlnprint为我做了诡计。我写了一个简单的程序作为一项服务运行,调用Firefox来制作PDF。一切似乎都很顺利,PDF文件被创建,但Flash完全没有了。虽然,当开始不作为服务时,Flash渲染就很好。

任何人都可以阐明什么阻止从渲染Flash和如果有解决方法吗?

谢谢!

+0

为什么它必须作为服务运行?在LocalSystem的上下文中加载网页(尤其是包含Flash内容的网页)是一个糟糕的主意。 – Luke 2010-05-04 18:37:02

+0

它应该是一个即使没有用户登录也应该能够运行的服务器解决方案。 – Leonid 2010-05-04 23:12:33

+0

@Leonid:你做这个工作,因为我做的是完全一样的。 – 2011-12-15 13:45:38

回答

1

我只能拍摄到黑暗的这里,但两件事情浮现在脑海中:

  • 谁(哪个用户)正在运行的服务的?如果您使服务在管理员用户下运行,会发生什么情况?

  • 如果您的服务在本地系统帐户上运行,是否启用了服务(允许在桌面和服务之间交换数据)复选框(不知道它是用英文命名的)?你永远不知道Flash可能需要运行什么。

如果不奏效,你有没有看着CrowbarXULRunner?我不确定他们是否做你需要的东西 - 如果他们这么做,是否Flash与他们合作 - 但他们似乎是接近你想要做的事。

+0

我只能在管理员级别的用户帐户下才能使用它。 我没有运气在LocalSystem帐户下运行服务,有或没有“允许服务与桌面交互” - 正在收到服务未被允许打印的消息。 感谢您提供其他解决方案,但看起来问题出在Flash本身。我尝试了另一个基于IE的实用工具IECapt(iecapt.sourceforge.net),它并没有在服务模式下呈现Flash。 – Leonid 2010-05-04 23:09:53

+0

@Leonid所以它作为一个服务在管理员帐户下工作? – 2010-05-05 07:09:58

+0

对不起,我的意思是我只能得到在管理帐户下运行的服务中生成的PDF。它仍然有空格而不是Flash。如果在本地系统下运行该服务,甚至无法生成PDF。因此PDF + Flash只能在用户非服务模式下工作。我试图弄清楚为什么是这样。 – Leonid 2010-05-05 17:39:24

相关问题