zoukankan      html  css  js  c++  java
  • 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。
    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 = 1then
            
    // 使用 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= 1then
                messagebox(ls_title,
    "保存成功!")
            
    else
                Messagebox(ls_title,
    "保存失败!",StopSign!)
            
    end if
        
    end if
    以上程序在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"  
    运行它来实现添加虚拟打印机。

    本文地址:http://www.cnblogs.com/anjou/archive/2007/03/03/663137.html
  • 相关阅读:
    随笔 Frida
    [转]某种传染病第一天只有一个患者,前五天为潜伏期,不发作也不会传染人 第6天开始发作,从发作到治愈需要5天时间,期间每天传染3个人 求第N天共有多少患者 Frida
    sql 将具有相同ID的多条记录组合成一条记录 Frida
    【转】小谈C#.NET下的爬虫(蜘蛛)技术 Frida
    ECMAScript基础1 Frida
    显示隐藏层 jquery Frida
    SQL语句备份和还原数据库
    Hello!Blog~
    23个MySQL常用查询语句
    SQL Server 2008压缩数据库日志文件
  • 原文地址:https://www.cnblogs.com/anjou/p/663137.html
Copyright © 2011-2022 走看看