
こんにちわ。
JavaでWebアプリケーションを作成しています。
サーバのJavaプログラムで作成したPDFファイルを
サーバに登録されているプリンターで直接印刷したいと考えているのですが
どのような方法がありますでしょうか?
方法、ライブラリ等を教えて頂けると助かります。
以上、よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
これを試してみてもいい
https://jp.e-iceblue.com/introduce/spire-pdf-for-java.html
import com.spire.pdf.*; import java.awt.print.*; public class Print { public static void main(String[] args) { //ドキュメントのロード PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("Sample.pdf"); PrinterJob loPrinterJob = PrinterJob.getPrinterJob(); PageFormat loPageFormat = loPrinterJob.defaultPage(); Paper loPaper = loPageFormat.getPaper(); //デフォルトの余白の削除 loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight()); //印刷数の設定 loPrinterJob.setCopies(2); loPageFormat.setPaper(loPaper); loPrinterJob.setPrintable(pdf,loPageFormat); try { loPrinterJob.print(); } catch (PrinterException e) { e.printStackTrace(); } } }
投稿2022/10/26 08:07
総合スコア62
0
ベストアンサー
以下のようなサンプルを作って試してみたところ直接印刷ができました。
解決とします。
java
1try { 2 // ドキュメントの形式を設定(application/octet-stream) 3 DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; 4 5 // Docオブジェクトの生成 6 is = new FileInputStream(outFileName); 7 Doc document = new SimpleDoc(is, flavor, null); 8 9 // プリンタの設定 10 PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 11 aset.add(new Copies(1)); 12 aset.add(MediaName.ISO_A4_WHITE); 13 14 PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 15 DocPrintJob job = service.createPrintJob(); 16 job.print(document, aset); 17 18} finally { 19 if (is != null) { 20 is.close(); 21 } 22}
投稿2015/07/22 03:00
編集2015/07/22 05:56
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

この方法では印刷のできないプリンタ(Canon)がありました。
この方法以外でご存じの方がいらっしゃいましたらお教えください。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。