我一直在网上看了一段时间,但是我仍然没有想到如何在Delphi中打印PDF文件,而不显示文档本身或打印对话框.我只想打开一个文件而不显示它,并将其打印到默认打印机.
我正在打印一批PDF文档,不需要用户干扰.
解决方法
打印PDF有一些不同的可能性…这取决于您是否需要安装Adobe Reader(我不知道您是要分发您的工具还是仅仅使用它).
1)可以加载Adobe Reader的ActiveX控件,并将其用于打印
pdfFile.src := 'filename.pdf'; pdfFile.LoadFile('filename.pdf'); pdfFile.print;
2)您可以使用Adobe Reader本身打印PDF(也可以用FoxIt打印)
ShellExecute(0,'open','acrord32',PChar('/p /h ' + FileName),nil,SW_HIDE);
3)您还可以使用Ghostview和Ghostprint
ShellExecute(Handle,'gsprint.exe',PChar('"' + filename + '"'),'',SW_HIDE);
4)或者你可以使用第三方库…有一些可用的,但并不是所有的都是免费的
> http://www.wpcubed.com/products/pdfviewer/index.htm
> http://www.quickpdflibrary.com/
> http://www.gnostice.com/PDFtoolkit_VCL.asp