0

我有一个 WCF 服务,它包装了一些生成报告 PDF 的旧版 DLL。该遗留代码在桌面应用程序中运行良好,但当通过 WCF 服务调用时,PDF 页面大小由虚拟屏幕大小(页面大小纵横比变为 4:3)而不是实际纸张大小驱动。

我已经在我的 HKEY_CURRENT_USER 下导出了打印机的各种注册表项,并在 HKEY_USERS.DEFAULT 下重新导入了它们,并且我确保本地打印机可供“所有人”使用。PDF仍然是错误的。

该站点在 Windows Server 2008 上的 IIS 7 中运行。该站点有自己的 32 个 AppPool,以特殊创建的用户身份运行。该站点启用了匿名身份验证并禁用了 ASP.NET 模拟。

奇怪的是,如果我让 AppPool 以自己的身份运行,则报告 PDF 的页面大小正确为 8.5 x 11。但是一旦我把它做成专门创建的,页面大小是 10.67 x 8.00 英寸(4:3 比例,例如 1024x768)。

我错过了什么?

4

1 回答 1

0

我对 WCF 服务并不熟悉,但如果它们是真正的 Windows 服务,那么它们看不到默认打印机也就不足为奇了。他们可能也看不到网络共享。只需在用户帐户而不是本地系统帐户下运行您的服务即可解决问题。

于 2011-09-27T21:25:06.977 回答