在我的应用程序中,以下代码打印卡的正面和背面。在虚拟打印机(如Virtual PDF打印机,ImagePrinter Pro和Microsoft XPS Document Writer)上,输出是正确的。但是当我在真正的打印机上测试它时,它只打印宽度的一半图像,而且高度正确。我测试了A4和Letter合成器,但都是风向标。不要khow有什么问题。到真实打印机的打印输出不同于在java中使用虚拟打印机的打印输出
public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
int w = 360, h = 240;
int padding = 2;
BufferedImage temp = new BufferedImage(w * 2, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D tempG = temp.createGraphics();
tempG.drawImage(card.getFrontImage(), 0, 0,
w, h, null);
tempG.drawImage(card.getBackImage(), w, 0,
w, h, null);
tempG.dispose();
g2d.drawImage(temp, (int) 0, 0 + padding,
(int) pageFormat.getImageableWidth(), (int) pageFormat.getImageableHeight()/5, null);
}
任何帮助?
你如何建立的PageFormat? – MadProgrammer 2013-03-04 09:07:56
甚至没有碰它。无法弄清楚如何处理PageFormat。 – junoonmera 2013-03-04 09:32:23