转:PowerBuilder 9.0 Datawindow 导出 pdf 文件

PowerBuilder 9.0 Datawindow 导出 pdf 文件

把 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。( PS:要将bin中文件复制到C:/Program Files/Sybase/Shared中去)
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 文件:  
     int  li_rc
    
string  ls_title  =   " 输出 pdf 文件 "
    
string  ls_PathName, ls_FileName
    
    
//  选择输出文件
    li_rc 
=  GetFileSaveName(ls_title, ls_PathName, ls_FileName,  " pdf " , " pdf file (*.pdf), *.pdf " )  
      
    
if (li_rc  =   1 then
        
//  使用 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
= " Yes "
        
        
//  输出 pdf 文件
        
if (dw_1.SaveAs(ls_PathName, PDF!,  true =   1 then
            messagebox(ls_title,
" 保存成功! " )
        
else
            Messagebox(ls_title,
" 保存失败! " ,StopSign!)
        
end   if
    
end   if
以上程序在PowerBuilder 9.01 Build 7096下调试通过 。(PS:Build 5507调试通过)

另外,你也可以在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"  
运行它来实现添加虚拟打印机。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值