关于导出pdf文件成功后,但是打不开的问题
我按照下面的方法,成功saveas出一个pdf文件.但是这个pdf文件通过Adobe Acrobat6.0打不开,提示“没有页面可打”
----------------------------
.下载安装gs705w32.exe
网址: ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/gs705
也可下载安装ghostscript7.06,但pb9不支持gs8.0及其以上版本!
2.针对PowerBuilder9.0
添加入path环境变量
gs705w32.exe 的安装默认路经为c:/gs(可以修改)
添加环境变量path:
C:\gs\gs7.05\bin
若升级为PB9.01或PB9.01以上则不需添加此环境变量。
(偶就是在这里犯了大错,先是看到了9.0的帮助里说要设置path变量,以前用java习惯了竟然设到了classpath上
,后来又看到9.01的帮助上说只要用gs705w32.exe安装就不用设置环境变量,也没有想到要去升级再试试或仔细
考虑环境变量的问题,就认为不会是这里出了错,一味的去搞虚拟打印机啊什么的,毫无效果,还以为是sybase在
吹牛,惭愧啊!)
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"
运行它也可实现添加虚拟打印机!
在菜单中使用save row as生成pdf报表:
在datawindow的Data Export中设置Format to configure为PDF
设置Method为Distill!
选中Distill Custom PostScript
设置默认打印机为PDF虚拟打印机:
在Printer Setup中选中Acrobat Distiller ...
最后File>save row as>pdf>... 就OK了!!
在代码中利用saveas()生成pdf报表:
int li_ret,li_ret2
string ls_docname, ls_named
li_ret2 = GetFileSaveName("Save file", ls_docname, ls_named, "pdf","pdf file (*.pdf), *.pdf" )
messagebox("TEST","ls_docname = "+ls_docname)
//Saving as PDF select the distill method
dw_1.Object.DataWindow.Export.PDF.Method = Distill!
//select printer
dw_1.Object.DataWindow.Printer = "Acrobat Distiller"
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes"
//printing pdf files
IF (li_ret2 = 1) THEN
li_ret = dw_1.SaveAs(ls_docname, PDF!, false)
else
return
end if
if li_ret=1 then
messagebox("Message","Successful!")
else
Messagebox('Error','Failed!!!',StopSign!)
end if
问题点数:20、回复次数:3Top
1 楼EasyPDF(提供专业的PDF控件:生成/阅读/转换/信息提取/自由定制,Mail:EasyPDF@gmail.c)回复于 2006-06-01 19:28:16 得分 20
出现这种错误是pdf文件里面是0页,也就是添加页失败了
------------------------------------
在程序里轻松支持pdf,定做PDF相关dll(包括生成,阅读,转换),请联系 EasyPDF@gmail.com或qq329969959(请注明PDF,否则一概不加)
Top
2 楼bettererp(我不是一个人)回复于 2006-06-02 13:50:37 得分 0
问题是怎么解决呢Top
3 楼handycyw(xmccc)回复于 2006-06-02 14:53:58 得分 0
用Adobe Acrobat7.0试试,我的可以用7.0打开,但没有试过6.0Top




