- PR -

javax.print.*での印刷の可否に関して

1
投稿者投稿内容
okataro
会議室デビュー日: 2008/03/17
投稿数: 2
投稿日時: 2008-03-17 11:46
お世話になっております。

Javaから下記コードでCanonのプリンタ(IR C5800)で印刷する仕組みを構築しようとしております。

PrintService printService = PrintServiceLookup.lookupDefaultPrintService();

FileInputStream fi = new FileInputStream("c:/test.pdf");
Doc doc = new SimpleDoc(fi, DocFlavor.INPUT_STREAM.AUTOSENSE, null);

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(MediaSizeName.ISO_A4);
attributes.add(new Copies(1));

DocPrintJob docPrintJob = printService.createPrintJob();
docPrintJob.print(doc, attributes);

fi.close();

XeroxのDocuCentre Color f360というプリンタでは問題なく印刷できたのですが、
Canonのプリンタではできませんでした(IR C5800、PIXUS 560i等)

Eclipse上でステップ実行したところ、docPrintJob.print(doc, attributes);まで問題なく呼ばれており、特に例外が発生しているということもなさそうです。
また、手動であればWEBページ等の印刷もできるので、プリンタドライバは正常にインストールされている状態です。

何らかの設定がプログラムに不足しているのか、もしくは、そもそもdocPrintJob.print(doc, attributes);
では印刷できないプリンタがあるということなのでしょうか。
その場合はjavax.print.*以外を利用した印刷の方法等ありますでしょうか。

長文となりまして、すみません。
もし詳しい方がいらっしゃれば、ご教授頂ければ幸いです。
何卒よろしくお願い致します。

環境----------------------------------------
JDK1.5.0_12
OS:Windows XP
----------------------------------------------
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2008-03-17 14:36
ご指摘の通り、プリンタに依存するようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43933&forum=12
okataro
会議室デビュー日: 2008/03/17
投稿数: 2
投稿日時: 2008-03-17 20:59
>Edosson様
参考になる投稿があったのですね。
もう少し調べてみようと思います。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)