1

在过去的 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 个标签。

有人可以告诉我我做错了什么吗?

4

0 回答 0