- - PR -
印刷時の用紙設定
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2001-11-26 17:55
また、お世話になります。
印刷で用紙をプログラムで設定したいですが、以下のソースを使って、ページ設定ダイアログを表示しないと、印字ができません。 なぜですか? PrintTest.java import java.awt.print.PrinterJob; import java.awt.print.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.*; public class PrintTest implements Printable { PageFormat pf=null; public PrintTest() { if(pf==null) pf=(PrinterJob.getPrinterJob()).defaultPage(); /*A4横*/ Paper p=new Paper(); p.setSize(21.0/2.54*72,29.7/2.54*72); p.setImageableArea(72,72,21.0/2.54*72-144,29.7/2.54*72-144); pf.setPaper(p); pf.setOrientation(PageFormat.REVERSE_LANDSCAPE); } public void doIt() { PrinterJob pj=PrinterJob.getPrinterJob(); /* 下のダイアログを実行しないと、印刷してくれない。なぜ?*/ // pf=pj.pageDialog(pf); pj.setPrintable(this,pf); if (pj.printDialog()){ try { pj.print(); } catch (Exception ex) { ex.printStackTrace(); } } } public int print(Graphics g, PageFormat pf, int pi) throws PrinterException { if (pi >= 1) { return Printable.NO_SUCH_PAGE; } Graphics2D g2 = (Graphics2D) g; g2.drawString("プリンタテスト",100,100); return Printable.PAGE_EXISTS; } public static void main(String s[]){ PrintTest f = new PrintTest(); f.doIt(); } } |
|
投稿日時: 2001-11-26 18:00
補足です。
JDK1.3では問題がありません。 JDK1.2.2では上の問題が発生しまった。 |
1
