调用Win10的PDF虚拟打印机

delohi7,不用其它外部控件,调用Win10的PDF虚拟打印机,不需要弹出“将打印输出另存为”窗的对话窗,直接保存为指定PDF文件。
图片说明图片说明
SetDefaultPrinter('Microsoft Print to PDF');

.......

FormReport.QuickRep1.Print;

可以用findwindow找到打开对话框,再发送一个wm_command消息,确认。
这种方式对话框会闪一下。
如果要彻底看不见,可以api hook 拦截 getopenfilename 这个api,传入自己要保存的路径

不行的话 可以自己使用代码实现打印PDF的功能,一般系统自带的都有打印对话框和预览功能