Вопрос по java – «PrinterException: ширина изображения на бумаге слишком мала». Я вижу, что не так, но как я могу это исправить?
================================================================================================================================

Я получаю эту ошибку, когда пытаюсь напечатать что-то для конкретного принтера этикеток в моем текущем проекте колледжа:

Но я не вижу причины, почему. У меня есть точный код этикетки для данного принтера, ширина и высота этикетки указаны правильно. Я установил размер изображения в соответствии с точным размером этикетки (в 1/72 дюйма от дюйма), а затем попытался уменьшить его, но безуспешно.
Этот код прекрасно работает, когда я печатаю на своем обычном струйном принтере на странице формата А4. Я получаю сообщение об ошибке только при попытке печати на принтере этикеток DYMO 450 (используя разные объекты Paper и PageFormat).
Глядя на результаты Google, я обнаружил, что я практически единственный человек в истории, который получил эту ошибку.

РЕДАКТИРОВАТЬ: после печати ширины изображения на экран я получаю следующие результаты:

Насколько я понимаю, и PageFormat получает ширину изображения, доступную для изображения, из Paper, а PrinterJob получает ширину изображения, доступную для изображения, из PageFormat.
Я явно что-то здесь упускаю.



Попробуйте установить область изображения равную размеру бумаги и оригинала 0,0. Затем после`PrinterJob.printDialog()`, вызов`PrinterJob.validatePage()` с вашим форматом страницы. Он вернет верный формат страницы с соответствующей областью изображения.