Java打印票证

时间:2019-01-28 12:04:31

标签: java printing

我正在尝试使用此代码在 Fujitsu fp-460 上打印票证

public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
        Graphics2D g2 = (Graphics2D) g;
        g2.translate((int)pf.getImageableY(),(int) pf.getImageableY());        
        g.setFont(new Font("TimesRoman", Font.PLAIN, 20));         
        g.drawString("Some Text", 00, 00);
        g.drawString("Some Text", 00, 20);
        g.drawString("Some Text", 00, 40);        
        g.drawString("Some Text", 00, 60);
        return PAGE_EXISTS;
    }

但是打印后的纸张左右两侧有一定的页边距如何使它整页打印? 从其他地方打印时,打印机工作正常

2 个答案:

答案 0 :(得分:0)

身体限制

此打印机(以及大多数普通打印机)的最大打印宽度小于页面宽度,因此full bleed将永远无法打印

参见此处:https://eu.mouser.com/datasheet/2/164/fp-460-2368.pdf

最近的部分:

enter image description here

软件限制

由于您不清楚如何获得PageFormat,因此很难说出您做错了什么。也许检查一下答案:https://stackoverflow.com/a/10484729/461499

答案 1 :(得分:0)

我不是AWT打印专家,但是基于我发现的API,请尝试一下:

pageFormat.getPaper().setSize(paperWidth, paperHeight);
pageFormat.getPaper().setImageableArea(iaX, iaY, iaWidth, iaHeight);

这些应该控制纸张尺寸和可打印区域。