虚拟打印如何取消另存为,而是直接保存?
虚拟打印,office
------解决方案--------------------
虚拟打印机好像不行吧
------解决方案--------------------
我以前做过,但太久了,而且每个人的虚拟打印机不同
思路是这样的:
在打印之前,开一个进程(比如你运行一个EXE)。
这个多出来的EXE,在那里等打印保存的窗口出来(findwindow),等到的时候,bringwindowtotop,
虚拟键盘输入,帮它输入文件名,再帮它按保存.
------解决方案--------------------
问题要尽可能地描述清楚,这样才有助于别人帮你解决问题。
------解决方案--------------------
需要虚拟打印机支持
------解决方案--------------------
转贴,本人没试过:
后台自动打印PDF文件,其中的解决方案可以考虑使用readr的命令行参数:
前提是客户机上必须要装有adobe的reader
在获取reader的路径后加上 /p /h 加上被打印的pdf的文件全路径即可
pb 代码:
string ls_reader_path="c:\program files\abobe\reader 9.0\reader>acrord32 /P /h "
string ls_pdf_path="d:\pdf_files\test.pdf"
string ls_print_path=ls_reader_path+ls_pdf_path
run(ls_print_path)
以上代码即可实现pb的后台打印 pdf 的功能
------解决方案--------------------
不好意,搞错了,上面是后台打印已存在的 PFD 文件。应该是这个:
转贴:
要安装gs705w32.exe 和 Acrobat 的虚拟打印机。
1. 下载安装gs705w32.exe
http://www.processlist.com/info/gs705w32.html
2. 安装 gs705w32.exe ,默认安装路经为c:/gs。
3. 安装虚拟打印机
1) 直接在 控制面板 > 打印机和传真 > 添加打印机,端口任意,默认的LPT1就可以;
2) 打印机驱动是PowerBuilder9.0自带的,就在PowerBuilder9.0的安装文件夹下,
选择从 磁盘安装 > X:\Program Files\Sybase\Shared\PowerBuilder\drivers, 选择 ADIST5.INF,读取到五个驱动:
Acrobat Distiller,
Acrobat Distiller CS,
Acrobat Distiller CT,
Acrobat Distiller J,
Acrobat Distiller K
选择第一个Acrobat Distiller
4. 在代码中利用SaveAs()输出 pdf 文件:
int li_rc
string ls_title = "输出 pdf 文件"
string ls_PathName, ls_FileName
// 选择输出文件
li_rc = GetFileSaveName(ls_title, ls_PathName, ls_FileName, "pdf","pdf file (*.pdf), *.pdf")
if(li_rc = 1) then
// 使用 Distill 方法输出 pdf 文件
dw_1.Object.DataWindow.Export.PDF.Method = Distill!