0

我正在使用窗口 7 x32。PowerBuilder 12.5 Classic 和 GhostScript 9.1w32

我正在尝试更新一个旧脚本,该脚本曾经使用 Jaguar 服务器生成 PDF 文档,但无论出于何种原因,它不再支持/与 PB12.5 一起使用。

我已经安装了 GhostScript 9.1 并且注册表HKLM\SOFTWARE\GPL Ghostscript\9.1\GS_DLL指向gsdll32.dll并且我有一个可用的 Sybase DataWindow PS 打印机(根据这篇文章使用 windows HP 驱动程序)

我用来生成 PDF 的 PB 代码是:

lstr_pdf_props.s_string[1] = "filename.pdf"
...
dw_statement.Object.DataWindow.Export.PDF.Method = Distill!
dw_statement.Object.DataWindow.Export.PDF.Distill.CustomPostScript="No"
dw_statement.SaveAs(lstr_pdf_props.s_string[1], PDF!, false)

这完成没有错误并创建一个C:\filename.pdf大小为 3kb 的文件,但它是一个空白页,该文件在 adobe reader 中打开,但没有写入或打印任何内容,只是一个空白页。

有没有人对这里可能发生的事情有任何想法?谢谢。

4

3 回答 3

1

有一个 Microsoft 组策略设置会干扰使用 Ghost 脚本来打印到 PDF 功能。

它被称为“阻止安装内核模式打印机驱动程序”。

要更正/检查它是否已设置,请转到:

  1. 开放组策略 (gpedit) 如果您的网络管理员组拥有它,您将需要使用它们。
  2. 在本地计算机策略下,双击计算机配置。
  3. 双击管理模板,然后双击打印机。
  4. 右键单击“禁止使用内核模式驱动程序安装打印机”,然后单击属性。
  5. 在设置选项卡上,单击禁用,然后单击确定。(您想禁用此功能以使 Ghost 脚本正常工作)。

如果您的网络安全人员已经忘乎所以,无论您尝试做什么,这都会扼杀您的努力。

希望这可以帮助。

一帆风顺。

于 2013-11-04T22:05:05.887 回答
0

当我切换到使用 GhostScript 8.71 时,出现了相同的结果。

我最终做的是删除Sybase DataWindow PS打印机并使用内置的 Adob​​e PDF 驱动程序添加新打印机。然后将其命名为Sybase DataWindow PS. 这并不完美。但它现在确实将内容打印到页面上,而不仅仅是白色。(使用 GhostScript 8.71 没有用 9.1 测试过)

于 2013-10-16T04:52:03.600 回答
0

我认为您的 GhostScript 版本错误。在这里查看我的答案:

PowerBuilder 12.5 Classic PDF SaveAs 在 Win7 x64 上创建 0 大小的文件

兄弟。加博尔

于 2013-10-15T06:44:03.483 回答