【发布时间】:2011-02-24 22:52:57
【问题描述】:
我有一个内置于 10.5 的应用程序,它能够在 Windows XP 上使用 SaveAs 成功创建 PDF。当我迁移到 Windows 7(32 位)时,它返回 -1 和一个零长度文件而失败。
我已经尝试了所有我能想到的方法。我已经尝试了多个版本的 Ghostscript(8.54、8.71、9.01),删除了驱动程序并重新添加了它。我也将 ghostscript EXE 和 DLL 复制到我的应用程序目录中。
系统变量包括一个 GS_DLL=C:\Program Files\gs\gs9.01\bin\gsdll32.dll 和一个包含 C:\Program Files\gs\gs9.01\bin\ 的 PATH;在其中(尝试在路径中列出第一个和最后一个)。
当我添加“Sybase DataWindow PS”打印机时,我将“C:\Program Files\gs\gs9.01\lib\”指定为文件夹。我试过共享而不共享打印机。
我检查了Saving a datawindow as PDF in PB 10.5 中提到的所有内容,但仍然失败。
我束手无策......还有其他想法吗?
--
-- 2011 年 3 月 2 日添加了更多信息
我应该注意到这是 PB10.5——不确定这是否重要。我还设置了 Windows 安全性,以便获得所有烦人的用户帐户控制消息框。
这是我添加打印机的方法 - 我相信这一切都正确
添加打印机 使用现有端口,文件:(打印到文件) 对于司机 -- 有磁盘,选择“c:\Program Files\gs\gs9.01\lib\ghostpdf.inf” --(替换当前驱动程序) 将其命名为: Sybase DataWindow PS(确认拼写)
当我打印一个测试页时,它会创建一个 177KB 的 PDF 文件,但是当我打开它时,我收到一个错误:“Adobe Reader 无法打开 'test.pdf',因为它不是受支持的文件类型,或者是因为文件已损坏(例如,它作为电子邮件附件发送且未正确解码)。
当我尝试从记事本打印某些内容时出现同样的错误。
当我使用 dw_1.saveAs("c:\test\test.pdf", PDF!) 从 PB 应用程序打印时,它返回 -1 并创建一个 0 大小的 PDF。
我已经应用了最新的 Adobe 更新(似乎每天都会更新!)。
我确认我有一个注册表项 HKLM\SOFTWARE\GPL Ghostscript\9.01\,其值:
GS_DLL (REG_SZ) 设置为 C:\Program Files\gs\gs9.01\bin\gsdll32.dll
GS_LIB (REG_SZ) 设置为 C:\Program Files\gs\gs9.01\lib;C:\Program Files\gs\fonts
DLL 确实存在于该目录中,并且 GS_LIB 引用的两个目录存在并具有内容。
谢谢!
D
【问题讨论】:
-
您使用的是 GS 安装程序吗?您是否使用签名的打印机驱动程序?您可以从记事本打印到“Sybase DataWindow PS”吗?您是使用 GS 设置升级计算机还是安装干净?
-
休,我使用了来自 UWISC (pages.cs.wisc.edu/~ghost/doc/GPL/gpl901.htm) 的 GS 安装程序。
-
(抱歉,回车太快了)...我使用了 UWISC 安装程序。当我从记事本打印时,它会创建一个长度为 0 的 PDF。这台计算机全新安装了 Win7,我安装了全新的 GS,但此后我卸载了 GS 并安装了几个其他版本,试图让它工作。每次我使用安装程序。谢谢!
-
当您在安装打印机时打印测试页时,它可能创建了一个 ps 格式的文件,这就是 Adobe 无法读取它的原因 -- Ghostscript 没有运行并将其转换为 pdf .
-
那么我需要做些什么来确保 GS 正在转换它(或者至少检查它是否正在尝试)?
标签: pdf windows-7 powerbuilder ghostscript