javax.print.Doc Java Examples
The following examples show how to use
javax.print.Doc.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PrinterOutputStream.java From escpos-coffee with MIT License | 6 votes |
/** * creates one instance of PrinterOutputStream. * <p> * Create one print based on print service. Start print job linked (this) * output stream. * * @param printService value used to create the printer job * @exception IOException if an I/O error occurs. * @see #getPrintServiceByName(java.lang.String) * @see #getDefaultPrintService() */ public PrinterOutputStream(PrintService printService) throws IOException { UncaughtExceptionHandler uncaughtException = (Thread t, Throwable e) -> { Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, e.getMessage(),e); }; pipedInputStream = new PipedInputStream(); super.connect(pipedInputStream); Runnable runnablePrint = () -> { try { DocFlavor df = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc d = new SimpleDoc(pipedInputStream, df, null); DocPrintJob job = printService.createPrintJob(); job.print(d, null); } catch (PrintException ex) { throw new RuntimeException(ex); } }; threadPrint = new Thread(runnablePrint); threadPrint.setUncaughtExceptionHandler(uncaughtException); threadPrint.start(); }
Example #2
Source File: DummyPrintTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
@Override public void print(Doc doc, PrintRequestAttributeSet printRequestAttributeSet) throws PrintException { System.out.println("job name: " + printRequestAttributeSet.get(JobName.class)); System.out.println("copies: " + printRequestAttributeSet.get(Copies.class)); if(printRequestAttributeSet.get(JobName.class) == null || printRequestAttributeSet.get(Copies.class) == null) { throw new RuntimeException("Copies and JobName is not passed correctly"); } }
Example #3
Source File: ChartPanel.java From opensim-gui with Apache License 2.0 | 4 votes |
private void createChartPrintPostScriptJob() { // Use the pre-defined flavor for a Printable from an InputStream DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE; // Specify the type of the output stream String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType(); // Locate factory which can export a GIF image stream as Postscript StreamPrintServiceFactory[] factories = StreamPrintServiceFactory.lookupStreamPrintServiceFactories( flavor, psMimeType); if (factories.length == 0) { System.err.println("No suitable factories"); System.exit(0); // FIXME too } // Obtain file name from user JFileChooser fileChooser = new JFileChooser(); ExtensionFileFilter filter = new ExtensionFileFilter( localizationResources.getString("PostScript_Files"), ".eps"); fileChooser.addChoosableFileFilter(filter); String filename=""; int option = fileChooser.showSaveDialog(this); if (option == JFileChooser.APPROVE_OPTION) { filename = fileChooser.getSelectedFile().getPath(); if (isEnforceFileExtensions()) { if (!filename.endsWith(".eps")) { filename = filename + ".eps"; } } else return; } try { // Create a file for the exported postscript FileOutputStream fos = new FileOutputStream(filename); // Create a Stream printer for Postscript StreamPrintService sps = factories[0].getPrintService(fos); // Create and call a Print Job DocPrintJob pj = sps.createPrintJob(); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); Doc doc = new SimpleDoc(this, flavor, null); pj.print(doc, aset); fos.close(); } catch (PrintException pe) { System.err.println(pe); } catch (IOException ie) { System.err.println(ie); } }
Example #4
Source File: DevicePrinterPrinter.java From nordpos with GNU General Public License v3.0 | 4 votes |
/** * Method that is responsible for ending and printing a ticket<br> * It manages to get a printerJob, set the name of the job, get a Book object<br> * and print the receipt */ @Override public void endReceipt() { try { PrintService ps; if (printservice == null) { String[] printers = ReportUtils.getPrintNames(); if (printers.length == 0) { logger.warning(AppLocal.getIntString("message.noprinters")); ps = null; } else { SelectPrinter selectprinter = SelectPrinter.getSelectPrinter(parent, printers); selectprinter.setVisible(true); if (selectprinter.isOK()) { ps = ReportUtils.getPrintService(selectprinter.getPrintService()); } else { ps = null; } } } else { ps = printservice; } if (ps != null) { PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(OrientationRequested.PORTRAIT); aset.add(new JobName(AppLocal.APP_NAME + " - Document", null)); aset.add(media); DocPrintJob printjob = ps.createPrintJob(); Doc doc = new SimpleDoc(new PrintableBasicTicket(m_ticketcurrent, imageable_x, imageable_y, imageable_width, imageable_height), DocFlavor.SERVICE_FORMATTED.PRINTABLE, null); printjob.print(doc, aset); } } catch (PrintException ex) { logger.log(Level.WARNING, AppLocal.getIntString("message.printererror"), ex); JMessageDialog.showMessage(parent, new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.printererror"), ex)); } //ticket is not needed any more m_ticketcurrent = null; }
Example #5
Source File: PrintUtility.java From birt with Eclipse Public License 1.0 | 4 votes |
/** * Execuate Print Job * * @param inputStream * @param printer * @throws ViewerException */ public static void execPrint( InputStream inputStream, Printer printer ) throws RemoteException { if ( inputStream == null || printer == null ) return; // Create print request attribute set PrintRequestAttributeSet pas = new HashPrintRequestAttributeSet( ); // Copies if ( printer.isCopiesSupported( ) ) pas.add( new Copies( printer.getCopies( ) ) ); // Collate if ( printer.isCollateSupported( ) ) pas.add( printer.isCollate( ) ? SheetCollate.COLLATED : SheetCollate.UNCOLLATED ); // Duplex if ( printer.isDuplexSupported( ) ) { switch ( printer.getDuplex( ) ) { case Printer.DUPLEX_SIMPLEX : pas.add( Sides.ONE_SIDED ); break; case Printer.DUPLEX_HORIZONTAL : pas.add( Sides.DUPLEX ); break; case Printer.DUPLEX_VERTICAL : pas.add( Sides.TUMBLE ); break; default : pas.add( Sides.ONE_SIDED ); } } // Mode if ( printer.isModeSupported( ) ) { switch ( printer.getMode( ) ) { case Printer.MODE_MONOCHROME : pas.add( Chromaticity.MONOCHROME ); break; case Printer.MODE_COLOR : pas.add( Chromaticity.COLOR ); break; default : pas.add( Chromaticity.MONOCHROME ); } } // Media if ( printer.isMediaSupported( ) && printer.getMediaSize( ) != null ) { MediaSizeName mediaSizeName = (MediaSizeName) printer .getMediaSizeNames( ).get( printer.getMediaSize( ) ); if ( mediaSizeName != null ) pas.add( mediaSizeName ); } try { PrintService service = printer.getService( ); synchronized ( service ) { DocPrintJob job = service.createPrintJob( ); Doc doc = new SimpleDoc( inputStream, DocFlavor.INPUT_STREAM.POSTSCRIPT, null ); job.print( doc, pas ); } } catch ( PrintException e ) { AxisFault fault = new AxisFault( e.getLocalizedMessage( ), e ); fault.setFaultCode( new QName( "PrintUtility.execPrint( )" ) ); //$NON-NLS-1$ fault.setFaultString( e.getLocalizedMessage( ) ); throw fault; } }
Example #6
Source File: PrintServiceImpl.java From jqm with Apache License 2.0 | 4 votes |
@Override public void print(String printQueueName, String jobName, Object data, DocFlavor flavor, String endUserName) throws PrintException { // Arguments tests if (printQueueName == null || printQueueName.isEmpty()) { throw new IllegalArgumentException("printQueueName must be non null and non empty"); } if (data == null) { throw new IllegalArgumentException("data must be non null"); } if (flavor == null) { throw new IllegalArgumentException("flavor must be non null"); } if (jobName == null || jobName.isEmpty()) { throw new IllegalArgumentException("job name must be non null and non empty"); } if (endUserName != null && endUserName.isEmpty()) { throw new IllegalArgumentException("endUserName can be null but cannot be empty is specified"); } // Find the queue AttributeSet set = new HashPrintServiceAttributeSet(); set.add(new PrinterName(printQueueName, null)); javax.print.PrintService[] services = PrintServiceLookup.lookupPrintServices(null, set); if (services.length == 0 || services[0] == null) { throw new IllegalArgumentException("There is no printer queue defined with name " + printQueueName + " supporting document flavour " + flavor.toString()); } javax.print.PrintService queue = services[0]; // Create job DocPrintJob job = queue.createPrintJob(); PrintRequestAttributeSet jobAttrs = new HashPrintRequestAttributeSet(); jobAttrs.add(new JobName(jobName, null)); if (endUserName != null && queue.isAttributeCategorySupported(RequestingUserName.class)) { jobAttrs.add(new RequestingUserName(endUserName, null)); } // Create payload Doc doc = new SimpleDoc(data, flavor, null); // Do it job.print(doc, jobAttrs); }