1

チュートリアルに従ってJPSを使用してJPG画像をプリンターに印刷しようとしていますが、Mac OSXでは常にエラーが発生します。いつも「PostScriptファイルを変換できません」と表示されます。

印刷に使用しているコードは次のとおりです。

final PrintRequestAttributeSet photoAttr = createPhotoPaperPrintAttributes(copies);
PrintService printerService = findPrintService(photoAttr);
        try {
            DocAttributeSet das = new HashDocAttributeSet();
            das.add(new PrinterResolution(300, 300, PrinterResolution.DPI));
            das.add(MediaSizeName.ISO_A6);
            final Doc doc = new SimpleDoc(new FileInputStream(new File(imageFile)), DocFlavor.INPUT_STREAM.JPEG, das);

            DocPrintJob printJob = printerService.createPrintJob();
            printJob.print(doc, photoAttr);
        } catch (Exception e) {
            throw new PrintException(e);
        }

何が間違っているのか誰か知っていますか?

Printable インターフェイスを使用して印刷することはできましたが、72 DPI よりも高い解像度で画像を印刷することはできませんでした。グラフィックスを 2D にスケーリングするなどの提案をいくつか試みましたが、うまくいかないようです。

どんな助けでも大歓迎です。

4

1 に答える 1

1

JPS のみを使用すると、Mac で問題が発生します。私の提案は、Java 2 Print API + Java Print Service を使用することです。

Java 2 Print API は 1990 年スタイルのようなものです。Java 2 Print API を使用してコードを作成しないようにするには、PDFBox http://pdfbox.apache.orgをフレームワークとして使用できます。

PDFBox を使用すると、PDF ドキュメント ( http://pdfbox.apache.org/cookbook/documentcreation.html ) を作成できますが、保存する代わりに、そのコードを使用して印刷できます。

PrinterJob printJob = PrinterJob.getPrinterJob();
PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 
printJob.setPrintService(service);      
document.silentPrint(printJob);

私のMacでは問題なく動作します。

于 2013-06-14T01:06:48.853 に答える