空港経由で複雑なスイングアプリケーションUIを物理プリンタに印刷しています。私はMacの& Windowsマシンの両方を同じプリンタに印刷している。 Macからの印刷はすばらしく見える。ウィンドウからの印刷は、フォントやグラフの行など、すべてが非常にピクセル化されています。Mac&Windowsでのスイングからの印刷 - 追記のサポートはどこですか?
周囲の掘り出し物によって、使用可能なPrintServicesがプラットフォームによって異なることが明らかになりました。
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
PrintServiceLookup.lookupPrintServices(flavor, attrs);
上記はmacから実行されると、単一要素の配列を返します。ウィンドウから、空の配列を返します。これは、ポストスクリプトデータではなく、ウィンドウが72 DPIイメージをプリンタに送信していると考えています。
これはMacの& Windows JVM実装の違いですか? Windowsで印刷を行うための回避策はありますか?私は自分の350dpiのラスタライズされた画像を生成してプリンタに送ることができることを理解していますが、これらのことは数百ページにも及んでいます。
私はこの質問につまずいたと私はそれが古代の知っている、あなたは、おそらくこのことを認識しているが、コードの2行目は不要であり、 'lookupPrintServices'は、属性を設定する必要がない場合に2番目の引数を' null'にします。 –