可能的重复项:
德尔福:如何在不显示的情况下打印PDF?
在不同的打印机上打印时,我遇到了不同的行为。在我的打印机上,PDF打印是正确的,但是使用"兄弟"打印机,相同的PDF打印为乱码(文件的内容被打印)。如果使用Adobe Reader将同一PDF文件直接发送到打印机,则在兄弟打印机上也可以正确打印。
为了打印PDF文件,我使用LoadFromFile函数读取了TMemoryStream对象中的内容。指定的文档信息值如下 -
DocInfo.pDocName := pChar('My Document');
DocInfo.pOutput := Nil;
DocInfo.pDatatype := pChar('RAW');
之后,使用WritePrinter功能,命令将发送到打印机句柄。
在我看来,兄弟打印机无法读取PDF编码格式。
感谢这方面的任何帮助。
PS : 我的应用程序在Delphi4中。
WritePrinter用于将原始打印机特定数据发送到打印机。
有些打印机可以理解 PDF,有些则不理解。
您应该有一个理解 PDF 的应用程序将其打印到打印机。
许多应用程序都可以做到这一点,最突出的当然是Adobe Reader。
这个答案显示了三种方法:Adobe Reader ActiveX,Adobe Reader application,GhostView/GhostPrint。它还引用了其他一些方法。