可能重複:
Delphi: How to print a PDF without showing it?PDF打印成垃圾與Brother打印機
我遇到不同的行爲,而在不同的打印機上打印。 在我的打印機上,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中。
@ Jeroen,我已經嘗試使用ShellExecute命令打印相同的PDF,如下ShellExecute(Application.Handle,'printto','Filename',PChar(printerInfo),nil,SW_HIDE);但是,由於這一點,我能夠打印它,但另一方面,它會打開一個惱人的Adobe閱讀器彈出窗口。有沒有我錯過的選項來隱藏這個彈出窗口。謝謝。 – Vic
@Vic歡迎來到stackoverflow。請閱讀我的答案提及的其他選項。另外:你應該評論一個答案,而不是問題。這是發佈答案的人會收到評論通知的唯一途徑。 –