Как изменить параметры печати при использовании нового java 1.6 JTextComponent print () - PullRequest
1 голос
/ 04 декабря 2010

У меня есть JTextComponent (JTextArea). Я пытаюсь распечатать его содержимое с использованием новой функциональности 1.6 .print (). Это работает хорошо. Я также делаю это в автономном / неинтерактивном режиме, используя следующую сигнатуру метода:

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

Опять же, это распечатывает мой контент.

ОДНАКО ... Я хотел бы установить свои собственные параметры печати (а именно, Размер поля и Размер бумаги). Мои могут быть нестандартными / нестандартными, так как это для чекового принтера -

Есть ли способ установить / настроить эту информацию при использовании этой формы печати?

Проблема, с которой я сейчас сталкиваюсь, состоит в том, чтобы попытаться привести мой контент в соответствие с областью печати - и я хотел бы иметь больше контроля - я думаю, что с помощью PrintJob и Document это будет доступно через объект PageFormat - но я знать, как сделать то же самое, используя метод удобной печати, описанный выше.

Заранее спасибо -А-

1 Ответ

2 голосов
/ 04 декабря 2010

Вам необходимо использовать атрибуты PrintRequestAttributeSet, чтобы указать атрибуты задания на печать.

Вы создаете новый экземпляр PrintRequestAttributeSet

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();

Затем вам нужно добавить атрибуты для вашего запроса в этот набор. Посмотрите здесь для всех различных атрибутов, которые вы можете использовать.

Я думаю, вам понадобятся MediaSize и MediaPrintableArea

...