我有一个 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)。
我错过了什么?