2024年4月18日发(作者:)

PB11下的WebForm客户端打印输出的处理

PB9后已经支持输出PDF类型的打印输出。但如果要通过PB11的WebForm模式在

客户端输出PDF文档,必须安装SYBASE提出的虚拟打印驱动。以下是我的经验:

1.下载安装Ghostscript

Ghostscript是一个多功能的Postscript数据处理程序,能把Postscript转换成不同

的格式,是一套基于Adobe、PostScript及可移植文檔格式PDF的页面描述语言等而编

译成的免费软件。

安装GS时,使其在PB11下能工作,一要注意其版本。这点让我走了很多弯路,因

为在网上查找时,我找到的是GS6.05,结果一直调试不通,要么生成不了PDF文件,要

么生成的文件使用Adobe打不开,请求sybase的newsgroups也搞不清什么原因,后

来我下载了一个gs7.06后,一切问题就解决了。

点这里下载然后直接安装即可。

另外需要注意的安装位置,因为按SYBASE的提示装在PB软件安装目录下的

SharedPowerBuildergs下,最后的目录结构应该是:

2. 添加虚拟打印机

在 SharedPowerBuilderdrivers 下建立一个批处理文件,内容是(注意是在一行

内):

, PrintUIEntry /if /f . /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_ = Distill!

//select printer

dw_r = "Sybase DataWindow PS"

dw_PostScript="Yes"

//printing pdf files

dw_ ( "",PDF!,false)

#if defined PBWEBFORM then

DownloadFile("", true) // true=打开, false=下载

#end if

dw_() //如果要显示内定的打印任务窗口