私は、印刷ダイアログを表示し、印刷するジョブを提出するために、Java awt PrinterJobを使用しています。ジョブがサブミットされる前にユーザーが選択した属性をダイアログから読みたいのですが、 '属性'は保護された変数であるため、どのようにアクセスできるかわかりません。私は、送信されている印刷ジョブについて分析を行う必要があります。ここに回避策はありますか?PrinterJobの属性を取得する
答えて
PrinterJob.printDialog()
の代わりに、方法PrinterJob.printDialog(PrintRequestAttributeSet)
を使用してください。 付属のPrintRequestAttributeSet
には、印刷ダイアログでユーザーが選択したすべての属性が表示されます。このPrintRequestAttributeSet
から
あなたが
- はその
toArray()
メソッドを呼び出すことによってすべての属性を取得することができます - または
get(Class<?>)
方法
(パッケージからPrintRequestAttribute
を実装するクラスを使用するを使用して、個々の属性を取得javax.print.attribute.standard
キーとして使用します)。
次に、属性を削除または追加してPrintRequestAttributeSet
を変更することができます。
最後に、print()
メソッドを呼び出してPrinterJob
を送信します。
例:
media: iso-a4
orientation-requested: portrait
media-printable-area: (25.4,25.4)->(159.2,246.2)mm
copies: 1
copies: 1
media: iso-a4
mediaPrintableArea: (25.4,25.4)->(159.2,246.2)mm
mediaTray: null
orientationRequested: portrait
sides: null
ありがとう、それは働いた。印刷ダイアログの[プロパティ]ボタンが無効になっています。どのようにそれを有効にするための任意のアイデアですか? – curie
何も印刷されていない可能性があります。あなたは 'job.setPrintable(...)'を呼び出しましたか? [A基本印刷プログラム](https://docs.oracle.com/javase/tutorial/2d/printing/printable.html)を参照してください。 –
私の場合(Windowsの場合はプリンタで)、[印刷]ダイアログの[プロパティ]ボタンが有効になり、正常に動作します。プリンタがプロパティをサポートしていない可能性があります。 –
- 1. id属性で別の属性を取得するXPath
- 2. クラスの属性を取得
- 3. freemarkerのリクエスト属性を取得する
- 4. Keychainの属性を取得するNSArray
- 5. Javaのファイル属性を取得する
- 6. C#Xelement属性値を属性名で取得する
- 7. キーチェーンアイテムの属性の取得
- 8. T4テンプレート属性を取得
- 9. ララールブレード - 属性を取得
- 10. オブジェクトから属性を取得する
- 11. Java - エクステンダ(子)属性を取得する
- 12. React.jsでデータ属性を取得する
- 13. Python/BeautifulSoup: 'href'属性を取得する
- 14. 属性を取得するPython
- 15. C#で属性コンテキストを取得する
- 16. Delphi - XML - childnodes - 属性を取得する
- 17. Pythonでピクセル属性を取得する
- 18. Magentoの属性コードで属性モデルを取得
- 19. 属性メソッド内の属性を持つクラスのクラス名を取得する
- 20. Python:getattrを使ってオブジェクトの属性の属性を取得する方法は?
- 21. モノスタイロで取得するスタイライド属性
- 22. Angularjsカスタムディレクティブの属性の値を取得
- 23. iframeから外部タグ属性の属性を取得する方法
- 24. マゼンタの商品属性別商品属性を取得する2
- 25. カスタム属性コードで属性ラベル/オプションを取得magento
- 26. 属性内から属性値を取得
- 27. MVC3 - html.helperのデータ属性を取得
- 28. Angular.jsでスパンの属性を取得
- 29. Raphael jsライブラリの属性値を取得
- 30. ActionScript E4Xタグの属性を取得
これは私が使用しているコードは次のとおりです。I上記の例では
は、この出力を得ました。 PrinterJob job = PrinterJob.getPrinterJob();ブール値ok = job.printDialog;印刷ダイアログからジョブ属性を選択した後、属性を読み込んで分析したいと思います。 – curie