Как изменить распечатать параметры при использовании New Java 1.6 jtextComponent Print ()

StackOverflow https://stackoverflow.com/questions/4353306

Вопрос

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

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

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

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

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

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

Спасибо заранее -

Это было полезно?

Решение

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

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

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();

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

Я думаю, тебе понадобится MediaSize а также MediaPrintablearea.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top