PDF格式打印为Brother打印机的垃圾

时间:2012-10-07 03:50:15

标签: delphi pdf printing delphi-4

  

可能重复:
  Delphi: How to print a PDF without showing it?

我在不同的打印机上打印时遇到不同的行为。 在我的打印机上,PDF打印是正确的,但使用“Brother”打印机时,相同的PDF打印为乱码(文件的内容被打印)。如果使用Adobe Reader将相同的PDF文件直接发送到打印机,它也会在兄弟打印机上正确打印。

要打印PDF文件,我使用LoadFromFile函数读取TMemoryStream对象中的内容。指定的docinfo值如下 -

DocInfo.pDocName := pChar('My Document');
DocInfo.pOutput := Nil;
DocInfo.pDatatype := pChar('RAW');

之后使用WritePrinter函数,命令被发送到打印机句柄。

让我觉得兄弟打印机无法读取PDF编码格式。

对此方面的任何帮助表示赞赏。

P.S:我的应用程序在Delphi4中。

1 个答案:

答案 0 :(得分:3)

WritePrinter适用于sending raw printer specific data to a printer

有些打印机了解PDF,有些则不懂。

您应该有一个了解PDF的应用程序将其打印到打印机。

许多应用程序都可以做到这一点,当然最突出的是Adobe Reader

This answer shows three ways of doing that:Adobe Reader ActiveX,Adobe Reader应用程序,GhostView / GhostPrint。它还引用了其他一些方法。