0

我正在使用 java print 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 做同样的事情?我还实现了可打印界面,但打印的图像向右移动。我无法在左端对齐它(当我在 0,0 处使用 drawImage 时,它​​是从中间绘制的,因此不会出现在整个页面上)。

4

0 回答 0