Как изменить распечатать параметры при использовании New Java 1.6 jtextComponent Print ()
-
08-10-2019 - |
Вопрос
У меня есть 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.