在PB 10.5中将数据窗口保存为PDF

时间:2010-03-17 09:12:40

标签: pdf powerbuilder datawindow

我有一个网格数据窗口,背景中有一张图片(A4页面的尺寸),我想将数据和图片导出为(单页)PDF文件。我使用了以下命令的几种组合,但最多我得到了一个0大小的pdf。

//dw_1.Modify("Datawindow.Export.PDF.Method = Distill! ")
//dw_1.Modify("DataWindow.Export.PDF.Method = XSLFOP! ")

dw_1.Object.DataWindow.Export.PDF.Method = Distill!
//dw_1.Object.DataWindow.Printer = "\\prntsrvr\pr-6"
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript="No"
dw_1.SaveAs("c:\dw_one.pdf", PDF!, false)

用户指南(第533页)说:

… the data is printed to a PostScript file and automatically distilled to PDF using GNU Ghostscript…

Installing Ghostscript

For licensing reasons, Ghostscript is not installed with PowerBuilder. You (and your users) must download and install it before you can use this technique…

有谁知道程序是什么?

修改 谢谢你们。安装ghostscript证明是足够的。我只是无法理解为什么程序在某些人的PC上成功(使用Method = XSLFOP!)而不使用ghostscript: - /

6 个答案:

答案 0 :(得分:10)

PowerBuilder的Ghostscript和打印机设置

  

需要管理员权限   安装打印机。我们正在使用   在XP上进行此设置。

这些说明使用HP打印机驱动程序而不是Sybase提供的驱动程序。如果由于某种原因您没有此驱动程序,可以从HP下载。 HP驱动程序具有以下优点:

  • 生成的PDF可以通过屏幕阅读器(YMMV读取,但Sybase驱动程序输出不可读。)
  • 在需要签名驱动程序的系统上对驱动程序进行数字签名以进行安装

需要的文件

  • 来自http://pages.cs.wisc.edu/~ghost/的gs860w32.exe(如果您愿意,可以尝试更高版本.8.60对我们来说工作正常。)
  • C:\ Program Files \ Sybase \ Shared \ PowerBuilder \ drivers中的驱动程序文件(路径可能因安装而异)

Ghostscript的

安装gs860w32.exe

  • 安装到C:\ Program Files \ gs
  • 检查所有用户
  • 检查安装Ghostscript字体

Sybase DataWindow PS打印机

  

打印机名称是   区分大小写,必须完全正确   什么是报价内部。没有   “DataWindow”中的空格。最简单的方法   要做到正确就是从这里复制   记录并粘贴。

  • 打开控制面板,打印机和传真
  • 选择添加打印机(下一个)
  • 选择本地打印机,取消选中自动检测并安装我的即插即用打印机(下一步)
  • 选择使用以下端口,选择文件:(下一个)
  • 在左侧列表中,为制造商选择“HP”
  • 在右侧列表中,向下滚动并选择“HP 8150 Series PS”(下一个)
  • 打印机名称“Sybase DataWindow PS”
  • 用作默认打印机选择否(下一个)
  • 离开不共享选定(下一个)
  • 打印测试页,选择否(下一步)
  • (光洁度)

答案 1 :(得分:4)

我们已经在这里工作了。来自我们的内部维基:

  • 在工作站上安装ghostscript(8.50或8.15 推荐)
  • 确保Powerbuilder DLL中的ghostscript文件 目录
  • 确保同一位置有一个目录 包含默认的postscript Sybase提供的驱动程序。
  • Powerbuilder使用Adobe Postscript驱动程序(可以免费下载) 来自Adobe.com)。这必须命名 'Adobe DataWindow PS'

我们正在使用postscript驱动程序的1.06版本,您可以在此处下载:

答案 2 :(得分:4)

您的代码看起来很好,并且符合我刚刚检查过的类似代码的代码。验证ghostscript是否已正确安装。

出于调试目的,我会尝试使用更简单的数据窗口而不使用位图背景。

答案 3 :(得分:3)

作为其他人的一个小小的补充,我从来没有必须修改任何导出属性;我只是SaveAs()。我的理解是这些属性是为了尝试去非Ghostscript路线,但我不记得听到有人成功地这样做了。

要简化测试,您可能希望查看是否可以右键单击DataWindow画家中的“预览”窗格,以查看是否存在“将行保存为...”选项。 (我目前没有安装10.5,所以我看不出它是否在该版本中可用。)它将节省您运行应用程序,并至少在使用PowerScript运行之前测试基本功能。 / p> 祝你好运,

特里。

答案 4 :(得分:0)

ghostscript的问题是驱动程序没有签名。这是Windows 8中的一个大问题,因为它只会停止安装驱动程序。 Windows 7通知您发生了什么并允许安装驱动程序。 Windows 8只是停止安装驱动程序,您可以通过尝试使用ghostscript文件创建打印机来证明这一点。

目前正在使用HP PS驱动程序尝试识别Windows 8操作系统的解决方法。

答案 5 :(得分:0)

Windows 8允许使用未签名的打印机驱动程序,但您必须重新启动进入"高级模式"请参阅以下链接中的过程,然后选择禁用驱动程序签名实施选项。 http://windows.microsoft.com/en-gb/windows-8/windows-startup-settings-including-safe-mode

Windows仍然会警告并建议不要安装未签名的驱动程序。