anatoly314
@anatoly314

Как осуществить печать из Java с больше, чем 72dpi?

Добрый день.

Нужно печатать invoices с java на термопринтер. Максимальное разрешение принтера 203 dpi. При печати квадрата размером 72x72px получается квадрат с ребром 1 инч, из этого делаю вывод, что печатает с разрешением 72dpi. Попробовал воспользоваться следующим кодом в формировании PrinterJob, но безрезультатно. Если кто-то сталкивался, посоветуйте, пожалуйста, что делать?

HashPrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
		attributeSet.add(PrintQuality.HIGH);
		attributeSet.add(new PrinterResolution(203,203,PrinterResolution.DPI));
job.print(attributeSet);

Спасибо!
  • Вопрос задан
  • 2603 просмотра
Пригласить эксперта
Ответы на вопрос 2
Может в свойствах печатаемого изображения указан DPI 72? Это делается для того, что бы на разных печатных устройствах изображение имело одинаковый размер.
Ответ написан
Комментировать
dokwork
@dokwork
если вы сами рисуете на канвасе, то можно отмасштабировать Graphics:
@Override
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException, NotFitOnPageException {
   Graphics2D g = (Graphics2D) graphics;
   double s = 72.0 / 203;
   g.scale(s, s);
   ...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы