0

私はJava印刷APIを使用して、画像とテキストをサーマルプリンターに印刷しています。Printable インターフェイスを使用してみましたが、文字列と画像を描画できませんでした。そのため、ファイルシステムからファイルを読み取り、直接印刷します。画像とテキストを印刷するための個別の印刷コマンドがあります。これが私が使用するコードです

try {
textStream = new FileInputStream("C:\\logs\\qrcode.gif"); 
} catch (FileNotFoundException ffne) { 
} 
if (textStream != null && printer != null) { 
    DocFlavor myFormat = DocFlavor.INPUT_STREAM.GIF;
    // Create a Doc

    Doc myDoc = new SimpleDoc(textStream, myFormat, null); 
    DocPrintJob job = printer.createPrintJob(); 

    try {
           job.print(myDoc,set);
    } catch (PrintException e) {
        logger.log(Level.SEVERE,e.getMessage(),e);
    }
}

画像のサイズは 360 X 360 で、プリンターの解像度は 180DPI ですが、印刷される画像は非常に小さいです。

ここに画像がありますhttp://i.stack.imgur.com/oK3sX.jpg

しかし、画像ファイルを直接印刷すると、ページ全体が使用されます。(ページをフレーム全体に印刷するように選択できるオプションがあります)。Java を使用して同じことを行うには? 印刷可能なインターフェイスも実装しましたが、印刷された画像が右にずれます。左端に配置できませんでした (drawImage を 0,0 で使用すると、中央から描画されたため、ページ全体に表示されませんでした)。

4

0 に答える 0