Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

印刷

Printableをつかって印刷したいと考えています。
ページ数が複数の場合、どうしても2ページ以降が出力できません。
ネットなどで調べてみましたが、なかなか見つかりませんでした。
ページが2ページ以上にわたる場合どのような処理をすればよいのでしょうか。ご存知の方いましたらご教示願います。



以下ソース

public int print(Graphics g, PageFormat pf, int pageIndex )throws PrinterException{
        
if(pageIndex >= 1){
 return Printable.NO_SUCH_PAGE;
}
g.setColor(Color.BLACK);
g.setFont(fnt);
int y = 150;
for(int i = 0; i < PrintTest.listuserId.size(); i++ ){
 g.drawString("あ",140,y);
 g.drawString("あ",140,y);
 g.drawString("あ",140,y);
 g.drawString("あ",140,y);
            ・
            ・
            ・
 y+=20;
}
return Printable.PAGE_EXISTS;
}

    
//プリント実行クラス    
public class PrintTest {
    
public static void main(String[] args) {
   PrinterJob job = PrinterJob.getPrinterJob(); 
        job.setPrintable(new PrintSample());
   try{
       job.print();
            
   }catch (Exception e){
  e.printStackTrace();
   }

 }
}

2

回答

2736

閲覧

2件の回答

評価

0

>if(pageIndex >= 1){
> return Printable.NO_SUCH_PAGE;
>}
この部分の意味は理解して書いていますか?

評価

0

fooさんありがとうございます。
if(pageIndex >= 1){
 return Printable.NO_SUCH_PAGE;
}
は2ページ目は印刷しないという意味でしょうか・・・

やりたいことと矛盾していますが・・・

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。