Chinaunix首页 | 论坛 | 博客
  • 博客访问: 418850
  • 博文数量: 152
  • 博客积分: 1885
  • 博客等级: 上尉
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-13 16:51
文章分类

全部博文(152)

文章存档

2013年(1)

2012年(17)

2011年(19)

2010年(109)

2009年(6)

我的朋友

分类: Sybase

2009-12-23 21:54:07

 PB9后已经支持输出PDF类型的打印输出。但如果要通过PB11的WebForm模式在客户端输出PDF文档,必须安装SYBASE提出的虚拟打印驱动。以下是我的经验:
   1.下载安装Ghostscript
   Ghostscript是一个多功能的Postscript数据处理程序,能把Postscript转换成不同的格式,是一套基于PDF等而编译成的
      安装GS时,使其在PB11下能工作,一要注意其版本。这点让我走了很多弯路,因为在网上查找时,我找到的是GS6.05,结果一直调试不通,要么生成不了PDF文件,要么生成的文件使用打不开,请求sybase的newsgroups也搞不清什么原因,后来我下载了一个gs7.06后,一切问题就解决了。 
                                 点这里下载   然后直接安装即可。
 
      另外需要注意的安装位置,因为按SYBASE的提示装在PB软件安装目录下的Shared\PowerBuilder\gs下,最后的目录结构应该是:
 
     2. 添加虚拟打印机
      在 Shared\PowerBuilder\drivers 下建立一个批处理文件,内容是(注意是在一行内):
          rundll32.exe   printui.dll, PrintUIEntry /if /f .\\ADIST5.INF /r "LPT1:" /b "Acrobat Distiller" /m "Acrobat Distiller"
        然后执行它创建一个虚拟打印机,然后将打印机的名字修改为“Sybase DataWindow PS”
 
     3. 修改打印机的用户操作权限
          操作方法见下图:
    如果没有ASPNET用户,必须先添加。(注意我的是在XP下的操作)
       最后将打印机设置为默认打印机。
 
    4. 最后就可输出dw的内容了
     示例代码如下:
 
     //dw_report的“Data Export”下的“format to configure”修改为PDF
         //Saving   as   PDF   select   the   distill   method  
         dw_report.Object.DataWindow.Export.PDF.Method   =   Distill!     
        
         //select   printer  
         dw_report.Object.DataWindow.Printer   =   "Sybase DataWindow PS"  
         dw_report.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes"      
   
          //printing   pdf   files     
          dw_report.SaveAs ( "zzz.pdf",PDF!,false)  
       
          #if defined PBWEBFORM then
               DownloadFile("zzz.pdf", true) // true=打开, false=下载
          #end if
 
          dw_report.print()   //如果要显示内定的打印任务窗口
 
阅读(1760) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~