在我的應用程序中,以下代碼打印卡的正面和背面。在虛擬打印機(如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