2

重複の可能性:
Delphi: PDF を表示せずに印刷するには?

さまざまなプリンターで印刷しているときに、さまざまな動作が発生します。私のプリンターでは PDF は正しく印刷されますが、「Brother」プリンターでは同じ PDF が意味不明に印刷されます (ファイルの内容が印刷されます)。同じ PDF ファイルを Adob​​e Reader を使用してプリンタに直接送信すると、兄弟プリンタでも正しく印刷されます。

PDF ファイルを印刷するには、LoadFromFile 関数を使用して TMemoryStream オブジェクトのコンテンツを読み取ります。指定された docinfo 値は次のとおりです -

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

その後、WritePrinter 関数を使用して、コマンドがプリンター ハンドルに送信されます。

兄弟プリンターが PDF エンコーディング形式を読み取れないように見えます。

この点で何か助けていただければ幸いです。

PS : 私のアプリケーションは Delphi4 です。

4

1 に答える 1

3

WritePrinterは、生のプリンター固有のデータをプリンターに送信するためのものです。

PDFを理解するプリンターもあれば、理解しないプリンターもあります。

PDFを理解するアプリケーションが必要です。PDFをプリンターに印刷します。

多くのアプリケーションがそれを行うことができますが、もちろん最も有名なのはAdobeReaderです。

この回答は、それを行う3つの方法を示しています。AdobeReaderActiveX、Adobe Readerアプリケーション、GhostView/GhostPrintです。また、他のいくつかの方法も参照しています。

于 2012-10-07T06:39:43.617 に答える