private void defaultPrintPage(InvoicePagePrint pageprintdocumnet) { PrintService[] service = PrinterJob.lookupPrintServices(); // list // of // printers int count = service.length; PrintService printSvc = null; for (int i = 0; i < count; i++) { System.out.println("Service name: " + service[i].getName()); if (service[i].getName().indexOf("PDFcamp") != -1) { printSvc = service[i]; i = count; } } // TSP650 PageFormat format = new PageFormat(); Paper paper = new Paper(); double paperWidth = 3.25; double paperHeight = 11.69; double leftMargin = 0.19; double rightMargin = 0.25; double topMargin = 0; double bottomMargin = 0.01; paper.setSize(paperWidth * 72.0, paperHeight * 72.0); paper.setImageableArea( leftMargin * 72.0, topMargin * 72.0, (paperWidth - leftMargin - rightMargin) * 72.0, (paperHeight - topMargin - bottomMargin) * 72.0); format.setPaper(paper); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(OrientationRequested.PORTRAIT); PrinterJob printerJob = PrinterJob.getPrinterJob(); try { printerJob.setPrintService(printSvc); } catch (PrinterException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // Printable printable = new ReceiptPrintTest(); format = printerJob.validatePage(format); // printerJob.setPrintable(printable, format); printerJob.setPrintable(pageprintdocumnet, format); try { printerJob.print(aset); } catch (Exception e) { e.printStackTrace(); } }
/** Convenience method */ public void print() throws PrinterException { // // Now, request the transcoder to actually perform the // printing job. // PrinterJob printerJob = PrinterJob.getPrinterJob(); PageFormat pageFormat = printerJob.defaultPage(); // // Set the page parameters from the hints // Paper paper = pageFormat.getPaper(); Float pageWidth = (Float) hints.get(KEY_PAGE_WIDTH); Float pageHeight = (Float) hints.get(KEY_PAGE_HEIGHT); if (pageWidth != null) { paper.setSize(pageWidth.floatValue(), paper.getHeight()); } if (pageHeight != null) { paper.setSize(paper.getWidth(), pageHeight.floatValue()); } float x = 0, y = 0; float width = (float) paper.getWidth(); float height = (float) paper.getHeight(); Float leftMargin = (Float) hints.get(KEY_MARGIN_LEFT); Float topMargin = (Float) hints.get(KEY_MARGIN_TOP); Float rightMargin = (Float) hints.get(KEY_MARGIN_RIGHT); Float bottomMargin = (Float) hints.get(KEY_MARGIN_BOTTOM); if (leftMargin != null) { x = leftMargin.floatValue(); width -= leftMargin.floatValue(); } if (topMargin != null) { y = topMargin.floatValue(); height -= topMargin.floatValue(); } if (rightMargin != null) { width -= rightMargin.floatValue(); } if (bottomMargin != null) { height -= bottomMargin.floatValue(); } paper.setImageableArea(x, y, width, height); String pageOrientation = (String) hints.get(KEY_PAGE_ORIENTATION); if (VALUE_PAGE_ORIENTATION_PORTRAIT.equalsIgnoreCase(pageOrientation)) { pageFormat.setOrientation(PageFormat.PORTRAIT); } else if (VALUE_PAGE_ORIENTATION_LANDSCAPE.equalsIgnoreCase(pageOrientation)) { pageFormat.setOrientation(PageFormat.LANDSCAPE); } else if (VALUE_PAGE_ORIENTATION_REVERSE_LANDSCAPE.equalsIgnoreCase(pageOrientation)) { pageFormat.setOrientation(PageFormat.REVERSE_LANDSCAPE); } pageFormat.setPaper(paper); pageFormat = printerJob.validatePage(pageFormat); // // If required, pop up a dialog to adjust the page format // Boolean showPageFormat = (Boolean) hints.get(KEY_SHOW_PAGE_DIALOG); if ((showPageFormat != null) && (showPageFormat.booleanValue())) { PageFormat tmpPageFormat = printerJob.pageDialog(pageFormat); if (tmpPageFormat == pageFormat) { // Dialog was cancelled, meaning that the print process should // be stopped. return; } pageFormat = tmpPageFormat; } // Set printable before showing printer dialog so // it can update the pageFormat if it wishes... printerJob.setPrintable(this, pageFormat); // // If required, pop up a dialog to select the printer // Boolean showPrinterDialog; showPrinterDialog = (Boolean) hints.get(KEY_SHOW_PRINTER_DIALOG); if (showPrinterDialog != null && showPrinterDialog.booleanValue()) { if (!printerJob.printDialog()) { // Dialog was cancelled, meaning that the print process // should be stopped. return; } } // Print now printerJob.print(); }
public void printPage(String size) { double width = 0.0; double height = 0.0; double margin = 0.0; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); try { PrinterJob pj = PrinterJob.getPrinterJob(); if (pj.printDialog()) { PageFormat pf = pj.defaultPage(); Paper paper = pf.getPaper(); if (size.equals("3r")) { width = 5d * 72d; height = 3.5d * 72d; margin = 0d * 72d; aset.add(MediaSizeName.JIS_B7); } else if (size.equals("4r")) { width = 6d * 72d; height = 4d * 72d; margin = 0d * 72d; aset.add(MediaSizeName.JAPANESE_POSTCARD); } else if (size.equals("5r")) { width = 7d * 72d; height = 5d * 72d; margin = 0d * 72d; aset.add(MediaSizeName.NA_5X7); } else if (size.equals("6r")) { width = 8d * 72d; height = 6d * 72d; margin = 0d * 72d; aset.add(MediaSizeName.JAPANESE_DOUBLE_POSTCARD); } else if (size.equals("8r")) { width = 10d * 72d; height = 8d * 72d; margin = 0d * 72d; aset.add(MediaSizeName.NA_8X10); } paper.setSize(width, height); paper.setImageableArea(margin, margin, width - (margin * 2), height - (margin * 2)); System.out.println("Before- " + dump(paper)); pf.setOrientation(PageFormat.LANDSCAPE); pf.setPaper(paper); System.out.println("After- " + dump(paper)); System.out.println("After- " + dump(pf)); dump(pf); PageFormat validatePage = pj.validatePage(pf); System.out.println("Valid- " + dump(validatePage)); Book pBook = new Book(); pBook.append(this, pf); pj.setPageable(pBook); aset.add(OrientationRequested.LANDSCAPE); try { pj.setPrintable(this); pj.print(aset); } catch (PrinterException ex) { ex.printStackTrace(); } } } catch (Exception exp) { exp.printStackTrace(); } }