0
請告訴我,如果我做錯了什麼。我想打印條形碼到標籤上,所以我需要這些條形碼的高質量打印輸出,所以我推動打印機以300dpi打印。我做了什麼:java打印api - 在300dpi打印JComponent
做了一個大的JFrame;寬度:2490px,高度:3515px所以它代表在1 A4紙:1次測量(這是A4紙的分辨率,如果打印是成爲300dpi的)
繪製40幅條形碼圖像上的contentPane該JFrame的
設置的打印屬性,以便將在300dpi打印:
PrintRequestAttributeSet ASET = 新HashPrintRequestAttributeSet();
PrinterResolution pr =
new PrinterResolution(300,300,PrinterResolution.DPI);
MediaPrintableArea mpa=new MediaPrintableArea(8,21,
210-16, 296-42, MediaPrintableArea.MM);
屬性集填充有這樣的數據:
aset.add(mpa );
aset.add(pr);
aset.add(MediaSizeName.ISO_A4);
aset.add(new Copies(1));
aset.add(OrientationRequested.PORTRAIT);
aset.add(PrintQuality.HIGH);
aset.add(Fidelity.FIDELITY_TRUE);
printJob.setPrintable(this);
printJob.print(aset);
此類有打印方法:
public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
if (pageIndex > 0) {
return(NO_SUCH_PAGE);
} else {
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pageFormat.getImageableX(),pageFormat.getImageableY());
disableDoubleBuffering(componentToBePrinted);
componentToBePrinted.paint(g2d);
enableDoubleBuffering(componentToBePrinted);
return(PAGE_EXISTS);
}
我需要有對A4片40頁的條形碼,每個尺寸48.5毫米×25.4毫米。 打印在紙上的是6個條形碼,每個條形碼的尺寸都增加了104mm×46mm(寬度幾乎是紙張寬度的一半),滿足了整個紙張的要求。
任何想法,我能做什麼錯?
您是否找到解決方案? – MyTitle 2012-08-31 11:25:54