最近更新一个Windows Server 2008 R2的寄存代码。因不知本番环境的具体情况。
在测试过程中,代码根本起不动。追寻Log的踪迹,发现因为是一个ps2pdf14.bat报错
,最终是需要安装一个叫GhostScript的执行文件。
之后调查,发现尽管ps文件顺利生成, 但是在转换成PDF文件是仍然报错。各种可能猜想
后, 最终决定读源代码,发现一点蛛丝马迹,在生成PS文件时。
xlSheet.PrintOut(From:=FromPage, To:=ToPage, Copies:=1, ActivePrinter:="CutePDF Writer on CPW2:", Collate:=True, PrToFileName:=strTmpFolderPath & "\" & FileName & ".ps")
该字段:“ CutePDF Writer on CPW2:” 在Google一查,居然是一款名为CutePDF的Printer驱动
软件。
之后做如下操作
1. 安装 GhostScript。(安装路径C:\gs)
2. 安装CutePDF。
3. 设置常量Path,增加 C:\gs\gs9.21\lib;C:\gs\gs9.21\bin
4. 修改启动路径,使用 C:\gs\gs9.21\lib\ps2pdf14.bat的位置。
尽管,现在新的Excel已经具备直接转换成PDF的功能,过去的老环境测试也是无赖。
为此,耗费了近3个人月才调查清楚。