我正在使用java print API将图像和一些文本打印到热敏打印机。我尝试使用Printable接口,但我无法绘制字符串以及Image。所以我从文件系统中读取一个文件,然后直接打印出来。有单独的打印命令来打印图像和文本。这是我使用的代码
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时,它从中间绘制,因此不会出现在整个页面上。)