把 Datawindow 导出到PDF文件,早就想做了。为此我曾经试过几个版本的PowerBuilder(PowerBuilder 9.0,PowerBuilder 10.0),但都没有试成功。我一直以为是PB的 Bug,今天在网上搜了很多资料,终于搞定。原来要安装gs705w32.exe 和 Acrobat  的虚拟打印机。PB这样导出PDF文件,也太不专业了吧。
1. 下载安装gs705w32.exe http://www.processlist.com/info/gs705w32.html
2.  安装 gs705w32.exe ,默认安装路经为c:/gs。
3.  安装虚拟打印机
1) 直接在 控制面板 > 打印机和传真 > 添加打印机,端口任意,默认的LPT1就可以;
2) 打印机驱动是PowerBuilder9.0自带的,就在PowerBuilder9.0的安装文件夹下,
选择从 磁盘安装 > X:\Program Files\Sybase\Shared\PowerBuilder\drivers, 选择 ADIST5.INF,读取到五个驱动:
Acrobat  Distiller,
Acrobat  Distiller  CS,
Acrobat  Distiller  CT,
Acrobat  Distiller  J,
Acrobat  Distiller  K
选择第一个Acrobat  Distiller
4. 在代码中利用SaveAs()输出 pdf 文件: li_rc
string ls_title 输出 pdf 文件 string ls_PathName, ls_FileName

选择输出文件
li_rc
GetFileSaveName(ls_title, ls_PathName, ls_FileName, pdf file (*.pdf), *.pdf (li_rc 使用 Distill 方法输出 pdf 文件
dw_1.Object.DataWindow.Export.PDF.Method
Distill!

选择打印机
dw_1.Object.DataWindow.Printer
Acrobat Distiller
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript
输出 pdf 文件
(dw_1.SaveAs(ls_PathName, PDF!,
messagebox(ls_title,
保存成功!
Messagebox(ls_title,
保存失败! ,StopSign!)
以上程序在PowerBuilder 9.01 Build 7096下调试通过。
另外,你也可以在X:\Program Files\Sybase\Shared\PowerBuilder\drivers下编辑.BAT文件,写入:
rundll32.exe  printui.dll,PrintUIEntry  /if  /f  .\\ADIST5.INF  /r  "LPT1:"  /b  "Acrobat  Distiller"  /m  "Acrobat  Distiller"
运行它来实现添加虚拟打印机。 PowerBuilder 9.0 Datawindow 导出 pdf 文件把 Datawindow 导出到PDF文件,早就想做了。为此我曾经试过几个版本的PowerBuilder(PowerBuilder 9.0,PowerBuilder 10.0),但都没有试成功。我一直以为是PB的 Bug,今天在网上搜了很多资料,终于搞定。原来要安装gs705w32.exe 和 Acrobat
u_to pdf 对象包含下列方法: datawindow另存为 PDF 文件 ,as_printer为虚拟打印机名称,需安装 gs705w32 . exe saveas pdf ( datawindow adw, string as_ pdf file, string as_printer ) returns boolean; word文档转换成 PDF 文件 ,需安装office2011以上版本或wps2013以上版本 wordto pdf ( string as_docfile, string as_ pdf file ) returns boolean
3. 安装虚拟打印机 1) 直接在 控制面板 > 打印机和传真 > 添加打印机,端口任意,默认的LPT1就可以; 2) 打印机驱动在 PDF \drivers 文件 夾中, 选择 ADIST5.INF,读取到五个驱动: Acrobat Distiller, Acrobat Distiller CS, Acrobat Distiller CT, Acrobat Distiller J, Acrobat Distiller K 选择第一个Acrobat Distiller
PowerBuilder 数据 窗口 双击事件是当用户在 数据 窗口 中双击某一行时发生的事件。要使用此事件,可以在 数据 窗口 的脚本中编写事件处理代码。具体的,可以这样做: 1. 在 数据 窗口 的事件视图中,找到“双击”事件。 2. 在事件脚本编辑器中,编写事件处理代码。 例如,下面的代码演示了如何在双击事件中弹出消息框: long ll_row ll_row = dw_1.getrow() messagebox("您双击了第" + string(ll_row) + "行") 请注意,在 数据 窗口 的脚本中,可以使用 getrow() 函数获取当前行的行号。 希望这对你有帮助。