我正在尝试使用此代码在 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;
}
但是打印后的纸张左右两侧有一定的页边距如何使它整页打印? 从其他地方打印时,打印机工作正常
答案 0 :(得分:0)
此打印机(以及大多数普通打印机)的最大打印宽度小于页面宽度,因此full bleed将永远无法打印
参见此处:https://eu.mouser.com/datasheet/2/164/fp-460-2368.pdf
最近的部分:
由于您不清楚如何获得PageFormat
,因此很难说出您做错了什么。也许检查一下答案:https://stackoverflow.com/a/10484729/461499
答案 1 :(得分:0)
我不是AWT打印专家,但是基于我发现的API,请尝试一下:
pageFormat.getPaper().setSize(paperWidth, paperHeight);
pageFormat.getPaper().setImageableArea(iaX, iaY, iaWidth, iaHeight);
这些应该控制纸张尺寸和可打印区域。