Печать на нестандартном размере бумаги - Java

Узнай цену своей работы

Формулировка задачи:

Коллеги, с печатью столкнулся в первый раз и застопорился на вроде бы простой задачке: Есть принтер для печати на пластиковых карточках (zebra zxp series 1), размер карточки стандартный (86mm*54mm) Есть макет изображения(1016*638), на который я программно вставляю некие данные. Далее необходимо распечатать это на принтере. Печатаю, использую код как в tutorial, вот кусок:
Листинг программы
  1. Graphics2D g2d = (Graphics2D) graphics;
  2. g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
  3. g2d.drawImage(img, 0, 0, null);
но при этом получаю на карточке кусок изображения из правого-верхнего угла макета (размер макета больше размера карточки и влезает только кусок макета), как собственно "ужать" макет до размера карты? Если печатаю тот же макет с помощью "Средства просмотра фотографий Windows", то печатается всю как нужно, макет полностью ложится на карту. Как победить?)

Решение задачи: «Печать на нестандартном размере бумаги»

textual
Листинг программы
  1. FileInputStream fis = new FileInputStream(file); // изображение для печати
  2.         Doc doc = new SimpleDoc(fis, DocFlavor.INPUT_STREAM.JPEG, null);
  3.  
  4.         PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); //задаем параметры
  5.         aset.add(new Copies(1));
  6.         aset.add(OrientationRequested.LANDSCAPE);
  7.  
  8.         //указываем интересующие нас размеры, а findMedia находит наиболее подходящий, причем при конкретно этих размерах
  9.         //находится формат ISO-B8, который имеет размеры 68*88, однако на моей карте изображение печатается нормально.
  10.  
  11.         aset.add(MediaSize.findMedia(54, 86, Size2DSyntax.MM));  
  12.                                                                                              
  13.         DocPrintJob job = printService.createPrintJob();
  14.         job.print(doc, aset);
  15.         fis.close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут