在过去的 3 个小时里,2 种碳素墨水和 2 卷标签,我仍然无法打印一个。为此苦苦挣扎了一整天,仍然没有弄清楚任何事情。从表面上看,似乎一切都建立在运气的基础上。
class MyPrintable implements Printable {
public int print(Graphics g, PageFormat pf, int pageIndex) {
if (pageIndex == 0) {
Paper paper = new Paper();
paper.setImageableArea(0, 0, 320, 115);
paper.setSize(340, 128);
pf.setPaper(paper);
try {
BufferedImage read = ImageIO.read(new File("tmp/conv/foo.png"));
g.drawImage(read.getScaledInstance(220, 50, Image.SCALE_SMOOTH), 40, 10, null);
} catch (IOException ex) {
}
return Printable.PAGE_EXISTS;
}
return Printable.NO_SUCH_PAGE;
}
}
我需要在一个标签上打印一个条形码。标签尺寸为 9 厘米宽和 3.4 厘米高。这使我达到了 340 像素宽和 128 像素高。这就是我将图像大小设置为这些值的原因。
问题是,当我告诉打印机打印时,它会在第 8 个标签上打印条形码。它一直经过 7 个第一个标签,并始终打印第 7 个和第 8 个标签之间的东西。我不知道为什么,我已经尝试过每一个可能的值。我将尺寸设置为 0 像素,可成像尺寸为 0 像素,图像缩放尺寸为 0 像素,但它仍然一直到第 7-8 个标签。
有人可以告诉我我做错了什么吗?