WPrinterJob.validatePaper () меняет исходное imageableArea страницы, когда я нажимаю кнопку свойств диалогового окна «Печать» и после печати - PullRequest
0 голосов
/ 27 сентября 2018

Я печатаю бумагу формата Legal, когда я печатаю ее без открытого диалогового окна свойств, она печатается правильно, но когда я нажимаю кнопку «Свойства» для подтверждения типа страницы (независимо от того, нажимаю ли я «ОК» или «Отмена»«Затем Paper imageableArea изменяется, в то время как job.print (attributeSet) Диалог с кнопкой свойств

Ожидаемая высота / ширина: 612/1008

Фактическая высота / ширина: 612/ 792 (настройка в WPrinterJob.validatePaper ())

Печать страницы с выпуском

Вот мой код,

private void preparePageFormat(PageFormat pf)
{
   Paper ppr = new Paper();
   pf.setOrientation(PageFormat.LANDSCAPE);
   MediaSizeName msn = MediaSizeName.NA_LEGAL;
   MediaSize msz = MediaSize.getMediaSizeForName(msn);
   double inch = 72.0;
   width = msz.getX(MediaSize.INCH) * inch;
   height = msz.getY(MediaSize.INCH) * inch;
   ppr.setSize(a4Width, a4Height);
   ppr.setImageableArea(0, 0, a4Width, a4Height);
   pf.setPaper(ppr); 
}

main()
{
  PrinterJob job = PrinterJob.getPrinterJob();
  PageFormat pageFormat = job.defaultPage();
  preparePageFormat(pageFormat);
  job.setPrintable(previewPanel.getPrintable(), pageFormat);
  PrintRequestAttributeSet attributeSet  = new HashPrintRequestAttributeSet();
  attributeSet.add(OrientationRequested.LANDSCAPE);
  attributeSet.add(MediaSizeName.NA_LEGAL);
  if (job.printDialog(attributeSet))
  {
    attributeSet.add(new MediaPrintableArea((float)pageFormat.getImageableX(),(float)pageFormat.getImageableY(),
                        (float)pageFormat.getImageableWidth(),(float)pageFormat.getImageableHeight(),MediaPrintableArea.INCH)); 
    job.print(attributeSet);
  }
}

1 Ответ

0 голосов
/ 28 сентября 2018

Для этой проблемы с принтером необходимо подтвердить настройку в окне «Свойства принтера».Убедитесь, что все настройки соответствуют вашему типу страницы.Check Printer Page settings here-1

И верфий здесь тоже.Cehck Printer Page Preference here-2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...