关于导出pdf文件成功后,但是打不开的问题

bettererp 2006-06-01 05:36:40
我按照下面的方法,成功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
...全文
3235 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
handycyw 2006-06-02
  • 打赏
  • 举报
回复
用Adobe Acrobat7.0试试,我的可以用7.0打开,但没有试过6.0
bettererp 2006-06-02
  • 打赏
  • 举报
回复
问题是怎么解决呢
EasyPDF 2006-06-01
  • 打赏
  • 举报
回复
出现这种错误是pdf文件里面是0页,也就是添加页失败了


------------------------------------
在程序里轻松支持pdf,定做PDF相关dll(包括生成,阅读,转换),请联系 EasyPDF@gmail.com或qq329969959(请注明PDF,否则一概不加)












1,108

社区成员

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

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