私は何か間違っているかどうか教えてください。私はラベルにバーコードを印刷したいので、私はこれらのバーコードのために高品質の印刷物が必要なので、私は300dpiで印刷するためにプリンタを押しています。私がやったこと:java print api - 300dpiでJComponentを印刷
は大きなJFrameを作った。幅:2490px、高さ:3515pxそれが1にA4用紙を表し:1小節(プリントは300dpiのことがある場合、これはA4用紙の解像度)
は、JFrameの
セットアップのcontentPaneに40枚のバーコードの画像を描画しますプリントは、それが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);
このクラスは、printメソッドを持っています
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);
}
私はサイズ48.5にそれぞれ、そのA4用紙に40本のバーコードを持っている必要がありますmm×25.4mm。 紙に印刷されるのは、用紙全体を満たす104mm x 46mmの2倍の幅(ページ幅のほぼ半分)の6つのバーコードです。
私は何が間違っていますか?
解決策を見つけましたか? – MyTitle
は今覚えていないので、私はそれらのバーコードを印刷するようにしましたが、バーコードスキャナはそれらをほとんど読んでいません。 –