我有一个WCF服务,它包装了一些生成报告PDF的遗留DLL。遗留代码在桌面应用程序中运行良好,但在通过WCF服务调用时,PDF页面大小由虚拟屏幕大小(页面大小apsect比率变为4:3)而非实际纸张大小驱动。
我在HKEY_CURRENT_USER下导出了各种打印机密钥,并在HKEY_USERS.DEFAULT下重新导入它们,我确保本地打印机可用于“Everyone”。 PDF仍然出错了。
该站点在Windows Server 2008上的IIS 7中运行。该站点有自己的32-but AppPool,作为专门创建的用户运行。该站点已禁用匿名身份验证并禁用了ASP.NET模拟。
奇怪的是,如果我以自己的方式运行AppPool,报表PDF的页面大小正确为8.5 x 11。但是,只要我使用专门创建的二手,页面大小就是10.67 x 8.00英寸(4:3比例,例如1024x768)。
我错过了什么?
答案 0 :(得分:0)
我并不熟悉WCF服务,但如果它们是真正的Windows服务,那么他们看不到默认打印机并不奇怪。他们可能也看不到网络共享。只需在用户帐户而不是本地系统帐户下运行您的服务就可以解决问题。