数据窗口PDF格式输出

 这个问题第9个回答:
数据窗口PDF格式输出

(独孤求败二零零四年一月十四日整理于深圳市南山区)

PDF(Portable Document Format)文件格式是Adoble公司开发的电子文件格式。这种文件格式和操作系统平台无关,也就是说,PDF文件不管是在Widnows、Unix还是在苹果公司的Mac OS操作系统中都是通用的。这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司报告、网络资料、电子邮件都开始使用PDF格式文件。
PB9.0中新增加了将数据窗口保存为PDF文档的支持,并提供了两种方法将数据窗口或数据存储保存为PDF格式的报表。默认的是提取的方法(Distill Method),他能够保存数据窗口对象的所有类型。同时,数据窗口也可以使用XSL格式对象(XSL-FO)保存PDF格式。
一、Distill提取方法
Distill Method是默认的数据窗口生成PDF文档的方法,使用这种方式,无须更改数据窗口对象的属性,可直接在数据窗口对象画板选择File/Save Rows As菜单项,在弹出的“另存为”对话框,选择保存类型为PDF保存即可。如果是在脚本中使用Save as()函数,将保存类型设置为PDF,也可以将数据窗口保存为PDF格式文件。
例如:
int li_ret 
string ls_docname, ls_named
integer li_value
li_value=GetFileSaveName("选择保存文件",+ls_docname,ls_named,"PDF文件",+"PDF文件 (*.PDF),*.PDF")
IF li_value <> 1 THEN Return
li_ret = dw_1.SaveAs(ls_docname, PDF!, true)
IF li_ret = 1 Then
MessageBox('提示信息','保存为PDF文件成功!' + '~r~n文件为:' + ls_docname)
Else
MessageBox('提示信息','保存为PDF文件失败!')
End IF
数据窗口对象生成的PDF文档如下图所示:

Distill方式目前还不支持OLE和RichText类型的数据窗口对象。
PB使用了一个转为提取方式PDF输出而设计的PostScript打印驱动,如果要在生成PDF文档时定制PostScript设置,可以选择不同的PostScript打印驱动。方法如下:
1、 数据窗口画板中
1)、打开数据窗口对象
2)、在数据窗口对象属性视图中选择Data Export标签页,在Format to Configure下拉列表中选择PDF,在Method下拉列表中选择Distill!,并选择Distill Custom PostScript复选框。如下图所示:

3)、选择Print Specifications标签页,在Printer Name文本框中输入指定的打印机名。
4)、保存数据窗口对象,选择File/Save Rows As菜单项,在弹出的“另存为”对话框中,选择保存类型为PDF,在文件名文本框中输入文件名。

2、 脚本中,使用如下方法:
int li_ret
dw_1.Object.DataWindow.Export.PDF.Method = Distill!
dw_1.Object.DataWindow.Printer = //prntsrvr/pr-6
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript = “Yes”
li_ret = dw_1.SaveAs(“custom.PDF”,PDF!,true)


二、使用XSL-FO方式保存PDF文档
基于将DataWindow数据保存为XML格式的能力,PB也能够将数据窗口的数据和表示通过生成XSL格式对象(XSL-FO)保存为PDF文档。
XSL-FO是用于格式化对象的可扩展样式表语言(Extensible Stylesheet Language for Formatting Objects),要使用XSL-FO生成PDF文档,必须对数据窗口对象属性进行修改。
1、数据窗口画板中
1)、打开数据窗口对象。
2)、在数据窗口对象属性视图中选择Data Export标签页,在Format to Configure下拉列表中选择PDF,在Method下拉列表中选择XSLFOP!。如果想将PDF文件同时送至打印机,选择Distill Print Using XSLFOP复选框。如下图所示:

3)、保存数据窗口对象,选择File/Save Rows As菜单项,在弹出的“另存为”对话框中,选择保存类型为PDF,在文件名文本框中输入文件名。

2、脚本中,使用如下方法:
int li_ret 
string ls_docname, ls_named
integer li_value

li_value = GetFileSaveName("选择保存文件", &
+ ls_docname, ls_named, "PDF文件", &
    + "PDF文件 (*.PDF),*.PDF")
IF li_value <> 1 THEN Return
//定制XSL-FO方式
dw_1.Modify("Export.PDF.Method = XSLFOP! ")
dw_1.Modify("Export.PDF.xslfop.Print='Yes'")
li_ret = dw_1.SaveAs(ls_docname, PDF!, true)
IF li_ret = 1 Then
MessageBox('提示信息','保存为PDF文件成功!' + &
'~r~n文件为:' + ls_docname)
Else
MessageBox('提示信息','保存为PDF文件失败!')
End IF

XSL-FO方式目前还不支持OLE、RichText、Graph和Composite数据窗口对象。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在PB ( PowerBuilder ) 中将数据窗口(DataWindow)转换为PDF 格式很简单。首先,在DataWindow 中,打开 "Save As" 对话框,这可以通过从菜单中选择 "File" -> "Save As" 或者使用快捷键 "Ctrl+Shift+S" 打开。 接下来,在 "Save As" 对话框中,选择 "PDF" 作为文件类型。现在你可以更改文件的名称和位置(dir),然后单击 "Save" 按钮。此时,将会自动将DataWindow 转换为PDF 格式,并保存在指定位置。 需要注意的是,可能需要在系统中安装一些PDF 阅读器,并在PB 中配置相应的设置才能正确生成格式完美的PDF 文件。 总结而言,PB 转换DataWindow 到 PDF 其实很简单。只需要按照上面的步骤,选择PDF 格式作为文件类型,然后设置您想要的名称和位置,最后单击 "保存",整个过程就完成了。 ### 回答2: PB数据窗口是一种常见的界面控件,用于展示数据库中的数据。而PDF则是一种流行的文档格式,可用于方便地分享和打印文件。将PB数据窗口转化为PDF可以将数据库信息转化为可靠可靠的文档形式,方便用户分享和打印。 要将PB数据窗口转换为PDF,首先需要使用第三方库或工具,例如软件库iText或Acrobat XI等。这些工具提供了许多API和功能,可帮助将数据窗口转换为PDF格式。转换过程大致包括以下步骤: 第一步是获取PB数据窗口的内容。可使用PB中的GetFullState功能获取完整数据窗口内容,也可以手动指定需要的数据窗口。 第二步是创建PDF文档。可以使用iText等工具创建PDF文档。 第三步是将数据窗口内容添加到创建的PDF文档中。iText等工具提供了许多API和功能,可帮助将数据窗口内容转换为PDF格式,并添加到PDF文档中。 第四步是保存PDF文档。iText等工具提供了保存PDF文档的API和功能,可将生成PDF文档保存到本地或服务器中。 在转换过程中,还需要注意保持数据窗口格式和样式等特性与PDF格式一致,以保证转换后的PDF文档更加清晰和易于阅读。同时要防止数据窗口中出现过多的图像和复杂元素,可能会影响PDF转换的质量和处理速度。 总之,将PB数据窗口转换为PDF是一项非常有用的任务,这可使数据库信息更为方便地共享和使用。虽然转换过程需要使用特定的工具和API,但这是很值得的,因为创建高质量的PDF文档将为用户带来无限好处。 ### 回答3: 将pb数据窗口转换为pdf文件可以通过使用第三方转换工具实现。首先,需要使用PowerBuilder开发软件打开对应的数据窗口,在数据窗口中可以设置需要导出的数据格式等参数。接下来,选取一个PDF转换软件,如Adobe Acrobat、Foxit PhantomPDF或Solid Converter PDF等,将数据窗口导出为PDF文件即可。 在导出PDF文件时,需要设置一些参数,如页面方向、大小、页边距、字体、图片质量等。这些参数的设置取决于具体的需求和使用场景,一般来说应该根据实际需要进行调整。为了保证输出PDF文件的质量,应该选择高质量的PDF转换软件,并在导出之前进行预览和检查,确保不会出现布局错乱、文字模糊或者丢失数据等问题。 总之,将PB数据窗口转换为PDF文件是一项相对简单的操作,只需要打开数据窗口并使用合适的PDF转换工具进行导出即可。对于需要频繁转换PB数据窗口PDF文件的企业或个人,可以考虑使用一些批量转换的工具,以提高工作效率和减少重复操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值