如何在PB中直接打印PDF文件!!

zdnest 2010-05-13 10:57:25
PB8中,根据用户选择的产品,直接打印这个产品关联的PDF格式的说明资料。
资料是以PDF文件格式存放在硬盘指定目录下,选择PDF文件对客户是不可见的,即客户只选择产品,点打印,不去查看文件内容。
请问怎么做?
谢谢!
...全文
1907 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qian819409916 2010-05-31
  • 打赏
  • 举报
回复
ding
zdnest 2010-05-27
  • 打赏
  • 举报
回复
勉强算是解决了,安装了一个PDF阅读软件PDFXCVIEW,可以在OLE里调用,但是只能使用阅读控件的打印按钮,不能直接使用函数。
zdnest 2010-05-13
  • 打赏
  • 举报
回复
现在使用OLE控件webbrowser,可以读取了

ole_1.object.navigate(ls_fullfilename)
ole_1.object.document.print()

不过有个新问题:打印时,总是要跳一个打印设置窗口出来让设置打印机,有没有什么办法可以直接打印?PB里也没找到帮助~
熟悉OLE的各位大哥介绍一下吧~~~
zdnest 2010-05-13
  • 打赏
  • 举报
回复
wag_enu(王震宇) :我是要打开已经有PDF文件进行打印,不是把DW另存为PDF文件!
wag_enu 2010-05-13
  • 打赏
  • 举报
回复
前段时间在网上捡的, 试了一下可以实现...

2.针对PowerBuilder9.0

在系统环境变量path 中添加入

gs705w32.exe 的安装默认路经为c:/gs(可以修改)

如 ;C:\gs\gs7.05\bin\



3.安装虚拟打印机

直接在 "控制面板 "> "打印机和传真 "> "添加打印机 ",

端口任意,默认的LPT1就可以,反正我们也不是用它做打印功能

关键是驱动的选择,此驱动是PowerBuilder9.0自带的,就在PowerBuilder9.0的安装文件夹下,

选择从 "磁盘安装 "> "Sybase\Shared\PowerBuilder\drivers ",

此时选择Adobe厂商的inf文件 "ADIST5.INF ",读取到五个驱动:

"Acrobat Distiller ",

"Acrobat Distiller CS ",

"Acrobat Distiller CT ",

"Acrobat Distiller J ",

"Acrobat Distiller K "

选择第一个 "Acrobat Distiller "(其它四个也可以,有什么区别到现在偶还不知道),下一步即可> "安装完毕 "

也可以在Sybase\Shared\PowerBuilder\drivers下编辑.BAT文件,写入:

rundll32.exe printui.dll,PrintUIEntry /if /f .\\ADIST5.INF /r "LPT1: " /b "Acrobat Distiller " /m



"Acrobat Distiller "

运行它也可实现添加虚拟打印机!



4、编写如下代码

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





dw_1.Object.DataWindow.Export.PDF.Method = Distill!

//选择虚拟打印机

dw_1.Object.DataWindow.Printer = "Acrobat Distiller "

dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript= "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
wag_enu 2010-05-13
  • 打赏
  • 举报
回复
在网上搜一个gs705w32.exe 来处理.
相关的方法 baidu 一下就有了.
永生天地 2010-05-13
  • 打赏
  • 举报
回复
这个需要调用其它接口,很难
shihaotian601 2010-05-13
  • 打赏
  • 举报
回复
下个pdffactory pro就可以了~printsetup的时候选择这个打印就可以了
jjoulejcc 2010-05-13
  • 打赏
  • 举报
回复
关注一下
wag_enu 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zdnest 的回复:]
wag_enu(王震宇) :我是要打开已经有PDF文件进行打印,不是把DW另存为PDF文件!
[/Quote]

整跑偏了...
zdnest 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 new4everlau 的回复:]
看看这个print是否有不显示对话框参数
[/Quote]

就是没找到在哪看参数
现在用的PRINT()都是从其它JAVA代码里看了试出来的
new4everlau 2010-05-13
  • 打赏
  • 举报
回复
看看这个print是否有不显示对话框参数
企业泄密的途径: 1、内部人员将资料通过软盘、U盘或移动硬盘从电脑拷出带走; 2、内部人员通过互联网将资料通过电子邮件发送到自己的邮箱; 3、将文件打印后带出; 4、将办公用便携式电脑直接带回家; 5、电脑易手后,硬盘上的资料没有处理,导致泄密; 6、随意将文件设成共享,导致非相关人员获取资料; 7、移动存储设备共用,导致非相关人员获取资料; 8、将自己的笔记本带到公司,连上局域网,窃取资料; 9、乘同事不在,开启同事电脑,浏览,复制同事电脑里的资料; 实现方法: 采用强制加密方式,文档只要一打开就会被加密。文档被加密后,无论通过Email、FTP、QQ、MSN、U盘等方式发送到外网,都无法打开文档。 适合的文档类型: 全面支持各种文件类型动态策略,在有新的软件版本时能快速添加。不需要重新安装加密软件,也不需要人工操作,只需要在服务器更新策略文件即可。方便快捷,降低维护成本。 办公文件加密:Office文档加密,WPS文档加密,PDF文档加密等; 二维图纸加密:AutoCAD,清华英泰MDS,TeamDesigner,基于AutoCAD内核,MasterCAM,FastCAM,等图纸; 三维图纸加密:Pro/E,Solid Works,Solid Edge,CATIA,UG,Cimatron,AutoDesk Inventor,I_Deas等图纸; 设计文件加密:Photoshop,CorelDraw,AcdSee,3Dmax,Illustrator,Fireworks,Flash,Dreamweaver等图片; 源代码加密:VB、VC、ADS、Keil、PB、VB.net、PHP、ASP、C#、Java、Delphi等源代码加密。

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧