2010-12-04 7 views
1

私はJTextComponent(JTextArea)を持っています。私は新しい1.6の.print()機能を使ってその内容を印刷しようとしています。これはうまくいきます。私はまた、次のメソッドのシグネチャを使用してヘッドレス/非対話モードでこれをやっている:新しいJava 1.6を使用するときに印刷パラメータを変更する方法JTextComponent print()

boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive);

ここでも、これは私のコンテンツを出力します。

...しかし私は、これはレシートプリンタ用であるよう..鉱山は、カスタム/非標準で自分の印刷パラメータ(すなわち、余白サイズと用紙サイズ)を設定したい -

方法はありますこの形式の印刷を使用するときにこの情報を設定/設定するには?

私は現在、印刷可能領域に収まるようにコンテンツを取得しようとしていますが、もっとコントロールしたいと思っています.PrintJobとDocumentを使って、PageFormatオブジェクトから利用できると思います。上記のconvience printメソッドを使って同じことをする方法を知っています。

おかげで-A-

答えて

2

事前 にあなたはPrintRequestAttributeSetは、印刷ジョブの属性を指定する属性を使用する必要があります。

あなたは、そのセットにリクエストの属性を追加する必要がPrintRequestAttributeSet

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); 

の新しいインスタンスを作成します。使用可能なすべての属性についてはTake a look hereを入力してください。

私はあなたが再びMediaSizeMediaPrintableArea

+0

が必要になると思う - 標準的なもののない1 - 私は、カスタムするMediaSizeを使用します。私はそれが上記のように簡単かもしれないと仮定しました。しかし、私が次のように呼ぶと、attributes.add(new MediaSize(80、3000、Size2DSyntax.MM));私は内部verifyAttributeValueからクラスキャスト例外を取得します...これは奇妙に思われる – a1o1

+0

実際には私の問題でした - 私はMediaSizeに集中していました。私はカスタムMediaPrintableAreaを試してみました。 – a1o1

+0

それはあなたのために働いてうれしい。 – Codemwnci

関連する問題