java打印图像文件

java打印图像文件,java,printing,thermal-printer,Java,Printing,Thermal Printer,我正在使用java打印API将图像和一些文本打印到热敏打印机。我尝试使用可打印的界面,但我不能像画图像一样画字符串。所以我从文件系统中读取一个文件,然后直接打印它。有单独的打印命令来打印图像和文本。这是我使用的代码 try { textStream = new FileInputStream("C:\\logs\\qrcode.gif"); } catch (FileNotFoundException ffne) { } if (textStream != null &&

我正在使用java打印API将图像和一些文本打印到热敏打印机。我尝试使用可打印的界面,但我不能像画图像一样画字符串。所以我从文件系统中读取一个文件,然后直接打印它。有单独的打印命令来打印图像和文本。这是我使用的代码

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,但正在打印的图像非常小

这是一张图片


但是当我直接打印图像文件时,它会占用整页。(您可以选择一个选项将页面打印到整个框架)。如何使用Java实现同样的功能?我还实现了可打印接口,但打印图像会向右移动。我无法在左端对齐它(当我在0,0处使用drawImage时,它是从中间绘制的,因此不会出现在整个页面上)。

您需要向我们展示用于使用Sorry打印的代码,但我没有理解您的意思。这是我用来打印图像文件的全部代码(C:\\logs\\qrcode.gif)。属性集为空。(我已尝试设置分辨率,但我的打印机仅支持180 DPI)。我选择打印机的名字(这是一个非常明显的代码),我觉得代码可能没有任何帮助。