Search in sources :

Example 21 with HashPrintRequestAttributeSet

use of javax.print.attribute.HashPrintRequestAttributeSet in project adempiere by adempiere.

the class PrintUtil method testSPS.

//	testPS
/**
	 * 	Test Stream Print Services
	 */
private static void testSPS() {
    //	dump (DocFlavor.INPUT_STREAM.GIF, DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());
    //	dump (DocFlavor.SERVICE_FORMATTED.PAGEABLE, DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());
    //	dump (DocFlavor.INPUT_STREAM.GIF, DocFlavor.BYTE_ARRAY.PDF.getMimeType());
    //	dump (DocFlavor.SERVICE_FORMATTED.PAGEABLE, DocFlavor.BYTE_ARRAY.GIF.getMediaSubtype());
    //	dump (DocFlavor.SERVICE_FORMATTED.PAGEABLE, DocFlavor.BYTE_ARRAY.JPEG.getMediaSubtype());
    //	dump (DocFlavor.SERVICE_FORMATTED.PAGEABLE);					//	lists devices able to output pageable
    //	dump (DocFlavor.SERVICE_FORMATTED.PRINTABLE);
    //	dump (DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST);
    //	dump (DocFlavor.INPUT_STREAM.POSTSCRIPT);
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
    PrintService[] pss = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PAGEABLE, pras);
    for (int i = 0; i < pss.length; i++) {
        PrintService ps = pss[i];
        String name = ps.getName();
        if (name.indexOf("PDF") != -1 || name.indexOf("Acrobat") != -1) {
            System.out.println("----");
            System.out.println(ps);
            Class[] cat = ps.getSupportedAttributeCategories();
            for (int j = 0; j < cat.length; j++) {
                System.out.println("- " + cat[j]);
            }
        }
    }
//	dump (null, DocFlavor.BYTE_ARRAY.PDF.getMimeType());			//	lists PDF output
//	dump (null, DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMediaType());	//	lists PS output
//	dump(null, null);
}
Also used : HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrintRequestAttributeSet(javax.print.attribute.PrintRequestAttributeSet) PrintService(javax.print.PrintService)

Example 22 with HashPrintRequestAttributeSet

use of javax.print.attribute.HashPrintRequestAttributeSet in project adempiere by adempiere.

the class PrintUtil method print.

//  getPrintServices
/*************************************************************************/
/**
	 * 	Print (async)
	 * 	@param printerName optional printer name
	 *  @param jobName optional printer job name
	 * 	@param pageable pageable
	 *  @param copies number of copies
	 *  @param withDialog if true, shows printer dialog
	 */
public static void print(Pageable pageable, String printerName, String jobName, int copies, boolean withDialog) {
    if (pageable == null)
        return;
    String name = "Adempiere_";
    if (jobName != null)
        name += jobName;
    //
    PrinterJob job = CPrinter.getPrinterJob(printerName);
    job.setJobName(name);
    job.setPageable(pageable);
    //	Attributes
    HashPrintRequestAttributeSet prats = new HashPrintRequestAttributeSet();
    prats.add(new Copies(copies));
    //	Set Orientation
    if (pageable.getPageFormat(0).getOrientation() == PageFormat.PORTRAIT)
        prats.add(OrientationRequested.PORTRAIT);
    else
        prats.add(OrientationRequested.LANDSCAPE);
    prats.add(new JobName(name, Language.getLoginLanguage().getLocale()));
    prats.add(getJobPriority(pageable.getNumberOfPages(), copies, withDialog));
    //
    print(job, prats, withDialog, false);
}
Also used : Copies(javax.print.attribute.standard.Copies) JobName(javax.print.attribute.standard.JobName) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrinterJob(java.awt.print.PrinterJob)

Example 23 with HashPrintRequestAttributeSet

use of javax.print.attribute.HashPrintRequestAttributeSet in project adempiere by adempiere.

the class ReportStarter method startProcess.

/**
	 *  Start the process.
	 *  Called then pressing the Process button in R_Request.
	 *  It should only return false, if the function could not be performed
	 *  as this causes the process to abort.
	 *  @author rlemeill
	 *  @param ctx context
	 *  @param pi standard process info
	 *  @param trx
	 *  @return true if success
	 */
public boolean startProcess(Properties ctx, ProcessInfo pi, Trx trx) {
    processInfo = pi;
    String Name = pi.getTitle();
    int AD_PInstance_ID = pi.getAD_PInstance_ID();
    int Record_ID = pi.getRecord_ID();
    log.info("Name=" + Name + "  AD_PInstance_ID=" + AD_PInstance_ID + " Record_ID=" + Record_ID);
    String trxName = null;
    if (trx != null) {
        trxName = trx.getTrxName();
    }
    ReportData reportData = getReportData(pi, trxName);
    if (reportData == null) {
        reportResult(AD_PInstance_ID, "Can not find report data", trxName);
        return false;
    }
    String reportPath = reportData.getReportFilePath();
    if (Util.isEmpty(reportPath, true)) {
        reportResult(AD_PInstance_ID, "Can not find report", trxName);
        return false;
    }
    JasperData data = null;
    File reportFile = null;
    String fileExtension = "";
    HashMap<String, Object> params = new HashMap<String, Object>();
    addProcessParameters(AD_PInstance_ID, params, trxName);
    addProcessInfoParameters(params, pi.getParameter());
    reportFile = getReportFile(reportPath, (String) params.get("ReportType"));
    if (reportFile == null || reportFile.exists() == false) {
        log.severe("No report file found for given type, falling back to " + reportPath);
        reportFile = getReportFile(reportPath);
    }
    if (reportFile == null || reportFile.exists() == false) {
        String tmp = "Can not find report file at path - " + reportPath;
        log.severe(tmp);
        reportResult(AD_PInstance_ID, tmp, trxName);
    }
    if (reportFile != null) {
        data = processReport(reportFile);
        if (data.getJasperReport() == null) {
            log.severe("Could not load Jasper Report " + reportPath);
            return false;
        }
        fileExtension = reportFile.getName().substring(reportFile.getName().lastIndexOf("."), reportFile.getName().length());
    } else {
        return false;
    }
    JasperReport jasperReport = data.getJasperReport();
    String jasperName = data.getJasperName();
    String name = jasperReport.getName();
    File reportDir = data.getReportDir();
    // Add reportDir to class path
    ClassLoader scl = ClassLoader.getSystemClassLoader();
    try {
        java.net.URLClassLoader ucl = new java.net.URLClassLoader(new java.net.URL[] { reportDir.toURI().toURL() }, scl);
        net.sf.jasperreports.engine.util.JRResourcesUtil.setThreadClassLoader(ucl);
    } catch (MalformedURLException me) {
        log.warning("Could not add report directory to classpath: " + me.getMessage());
    }
    if (jasperReport != null) {
        File[] subreports;
        // Subreports
        if (reportPath.startsWith("http://") || reportPath.startsWith("https://")) {
            // Locate and download subreports from remote webcontext
            subreports = getHttpSubreports(jasperName + "Subreport", reportPath, fileExtension);
        } else if (reportPath.startsWith("attachment:")) {
            subreports = getAttachmentSubreports(reportPath);
        } else if (reportPath.startsWith("resource:")) {
            subreports = getResourceSubreports(name + "Subreport", reportPath, fileExtension);
        } else // TODO: Implement file:/ lookup for subreports
        {
            // Locate subreports from local/remote filesystem
            subreports = reportDir.listFiles(new FileFilter(jasperName + "Subreport", reportDir, fileExtension));
        }
        for (int i = 0; i < subreports.length; i++) {
            // @Trifon - begin
            if (subreports[i].getName().toLowerCase().endsWith(".jasper") || subreports[i].getName().toLowerCase().endsWith(".jrxml")) {
                JasperData subData = processReport(subreports[i]);
                if (subData.getJasperReport() != null) {
                    params.put(subData.getJasperName(), subData.getJasperFile().getAbsolutePath());
                }
            }
        // @Trifon - end
        }
        if (Record_ID > 0)
            params.put("RECORD_ID", new Integer(Record_ID));
        // contribution from Ricardo (ralexsander)
        // in iReports you can 'SELECT' AD_Client_ID, AD_Org_ID and AD_User_ID using only AD_PINSTANCE_ID
        params.put("AD_PINSTANCE_ID", new Integer(AD_PInstance_ID));
        // FR [3123850] - Add continiuosly needed parameters to Jasper Starter - Carlos Ruiz - GlobalQSS
        params.put("AD_CLIENT_ID", new Integer(Env.getAD_Client_ID(Env.getCtx())));
        params.put("AD_ROLE_ID", new Integer(Env.getAD_Role_ID(Env.getCtx())));
        params.put("AD_USER_ID", new Integer(Env.getAD_User_ID(Env.getCtx())));
        Language currLang = Env.getLanguage(Env.getCtx());
        String printerName = null;
        MPrintFormat printFormat = null;
        PrintInfo printInfo = null;
        ProcessInfoParameter[] pip = pi.getParameter();
        // Get print format and print info parameters
        if (pip != null) {
            for (int i = 0; i < pip.length; i++) {
                if (ServerReportCtl.PARAM_PRINT_FORMAT.equalsIgnoreCase(pip[i].getParameterName())) {
                    printFormat = (MPrintFormat) pip[i].getParameter();
                }
                if (ServerReportCtl.PARAM_PRINT_INFO.equalsIgnoreCase(pip[i].getParameterName())) {
                    printInfo = (PrintInfo) pip[i].getParameter();
                }
                if (ServerReportCtl.PARAM_PRINTER_NAME.equalsIgnoreCase(pip[i].getParameterName())) {
                    printerName = (String) pip[i].getParameter();
                }
            }
        }
        if (printFormat != null) {
            if (printInfo != null) {
                // Set the language of the print format if we're printing a document
                if (printInfo.isDocument()) {
                    currLang = printFormat.getLanguage();
                }
            }
            // Set printer name unless already set.
            if (printerName == null) {
                printerName = printFormat.getPrinterName();
            }
        }
        params.put("CURRENT_LANG", currLang.getAD_Language());
        params.put(JRParameter.REPORT_LOCALE, currLang.getLocale());
        // Resources
        File resFile = null;
        if (reportPath.startsWith("attachment:") && attachment != null) {
            resFile = getAttachmentResourceFile(jasperName, currLang);
        } else if (reportPath.startsWith("resource:")) {
            resFile = getResourcesForResourceFile(jasperName, currLang);
        // TODO: Implement file:/ for resources
        } else {
            resFile = new File(jasperName + "_" + currLang.getLocale().getLanguage() + ".properties");
            if (!resFile.exists()) {
                resFile = null;
            }
            if (resFile == null) {
                resFile = new File(jasperName + ".properties");
                if (!resFile.exists()) {
                    resFile = null;
                }
            }
        }
        if (resFile != null) {
            try {
                PropertyResourceBundle res = new PropertyResourceBundle(new FileInputStream(resFile));
                params.put("RESOURCE", res);
            } catch (IOException e) {
                ;
            }
        }
        Connection conn = null;
        try {
            conn = trx != null ? trx.getConnection() : getConnection();
            jasperPrint = JasperFillManager.fillReport(jasperReport, params, conn);
            if (reportData.isDirectPrint() && !processInfo.isPrintPreview()) {
                log.info("ReportStarter.startProcess print report -" + jasperPrint.getName());
                //RF 1906632
                if (!processInfo.isBatch()) {
                    // Get printer job
                    PrinterJob printerJob = org.compiere.print.CPrinter.getPrinterJob(printerName);
                    // Set print request attributes
                    //	Paper Attributes:
                    PrintRequestAttributeSet prats = new HashPrintRequestAttributeSet();
                    //	add:				copies, job-name, priority
                    if (// @Trifon
                    printInfo == null || printInfo.isDocumentCopy() || printInfo.getCopies() < 1)
                        prats.add(new Copies(1));
                    else
                        prats.add(new Copies(printInfo.getCopies()));
                    Locale locale = Language.getLoginLanguage().getLocale();
                    // @Trifon
                    String printFormat_name = printFormat == null ? "" : printFormat.getName();
                    int numCopies = printInfo == null ? 0 : printInfo.getCopies();
                    prats.add(new JobName(printFormat_name + "_" + pi.getRecord_ID(), locale));
                    prats.add(PrintUtil.getJobPriority(jasperPrint.getPages().size(), numCopies, true));
                    // Create print service exporter
                    JRPrintServiceExporter exporter = new JRPrintServiceExporter();
                    ;
                    // Set parameters
                    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                    exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, printerJob.getPrintService());
                    exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, printerJob.getPrintService().getAttributes());
                    exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, prats);
                    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
                    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.FALSE);
                    // Print report / document
                    exporter.exportReport();
                } else {
                    // Used For the PH
                    try {
                        File PDF = File.createTempFile("mail", ".pdf");
                        JasperExportManager.exportReportToPdfFile(jasperPrint, PDF.getAbsolutePath());
                        processInfo.setPDFReport(PDF);
                    } catch (IOException e) {
                        log.severe("ReportStarter.startProcess: Can not make PDF File - " + e.getMessage());
                    }
                }
            // You can use JasperPrint to create PDF
            //                        JasperExportManager.exportReportToPdfFile(jasperPrint, "BasicReport.pdf");
            } else {
                log.info("ReportStarter.startProcess run report -" + jasperPrint.getName());
                JRViewerProvider viewerLauncher = getReportViewerProvider();
                //viewerLauncher.openViewer(jasperPrint, pi.getTitle()+" - " + reportPath);
                viewerLauncher.openViewer(jasperPrint, pi.getTitle() + "_" + pi.getRecord_ID() + ".pdf");
            }
        } catch (JRException e) {
            log.severe("ReportStarter.startProcess: Can not run report - " + e.getMessage());
        } finally {
            if (conn != null && trx == null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    throw new AdempiereException("@Error@ " + e);
                }
        }
    }
    reportResult(AD_PInstance_ID, null, trxName);
    return true;
}
Also used : Locale(java.util.Locale) MalformedURLException(java.net.MalformedURLException) JRException(net.sf.jasperreports.engine.JRException) HashMap(java.util.HashMap) SQLException(java.sql.SQLException) JobName(javax.print.attribute.standard.JobName) PrintInfo(org.compiere.model.PrintInfo) JasperReport(net.sf.jasperreports.engine.JasperReport) PropertyResourceBundle(java.util.PropertyResourceBundle) PrinterJob(java.awt.print.PrinterJob) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrintRequestAttributeSet(javax.print.attribute.PrintRequestAttributeSet) Language(org.compiere.util.Language) JRPrintServiceExporter(net.sf.jasperreports.engine.export.JRPrintServiceExporter) Copies(javax.print.attribute.standard.Copies) Connection(java.sql.Connection) CConnection(org.compiere.db.CConnection) IOException(java.io.IOException) JasperPrint(net.sf.jasperreports.engine.JasperPrint) FileInputStream(java.io.FileInputStream) ProcessInfoParameter(org.compiere.process.ProcessInfoParameter) MPrintFormat(org.compiere.print.MPrintFormat) AdempiereException(org.adempiere.exceptions.AdempiereException) DigestOfFile(org.compiere.util.DigestOfFile) File(java.io.File) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet)

Example 24 with HashPrintRequestAttributeSet

use of javax.print.attribute.HashPrintRequestAttributeSet in project jdk8u_jdk by JetBrains.

the class RasterPrinterJob method printDialog.

/**
     * Presents the user a dialog for changing properties of the
     * print job interactively.
     * @returns false if the user cancels the dialog and
     *          true otherwise.
     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
     * returns true.
     * @see java.awt.GraphicsEnvironment#isHeadless
     */
public boolean printDialog() throws HeadlessException {
    if (GraphicsEnvironment.isHeadless()) {
        throw new HeadlessException();
    }
    PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
    attributes.add(new Copies(getCopies()));
    attributes.add(new JobName(getJobName(), null));
    boolean doPrint = printDialog(attributes);
    if (doPrint) {
        JobName jobName = (JobName) attributes.get(JobName.class);
        if (jobName != null) {
            setJobName(jobName.getValue());
        }
        Copies copies = (Copies) attributes.get(Copies.class);
        if (copies != null) {
            setCopies(copies.getValue());
        }
        Destination dest = (Destination) attributes.get(Destination.class);
        if (dest != null) {
            try {
                mDestType = RasterPrinterJob.FILE;
                mDestination = (new File(dest.getURI())).getPath();
            } catch (Exception e) {
                mDestination = "out.prn";
                PrintService ps = getPrintService();
                if (ps != null) {
                    Destination defaultDest = (Destination) ps.getDefaultAttributeValue(Destination.class);
                    if (defaultDest != null) {
                        mDestination = (new File(defaultDest.getURI())).getPath();
                    }
                }
            }
        } else {
            mDestType = RasterPrinterJob.PRINTER;
            PrintService ps = getPrintService();
            if (ps != null) {
                mDestination = ps.getName();
            }
        }
    }
    return doPrint;
}
Also used : Destination(javax.print.attribute.standard.Destination) HeadlessException(java.awt.HeadlessException) Copies(javax.print.attribute.standard.Copies) JobName(javax.print.attribute.standard.JobName) File(java.io.File) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrinterAbortException(java.awt.print.PrinterAbortException) HeadlessException(java.awt.HeadlessException) PrintException(javax.print.PrintException) PrinterException(java.awt.print.PrinterException) IOException(java.io.IOException) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrintRequestAttributeSet(javax.print.attribute.PrintRequestAttributeSet) PrintService(javax.print.PrintService) StreamPrintService(javax.print.StreamPrintService)

Example 25 with HashPrintRequestAttributeSet

use of javax.print.attribute.HashPrintRequestAttributeSet in project jdk8u_jdk by JetBrains.

the class PrintJob2D method copyAttributes.

/* From JobAttributes we will copy job name and duplex printing
     * and destination.
     * The majority of the rest of the attributes are reflected
     * attributes.
     *
     * From PageAttributes we copy color, media size, orientation,
     * origin type, resolution and print quality.
     * We use the media, orientation in creating the page format, and
     * the origin type to set its imageable area.
     *
     * REMIND: Interpretation of resolution, additional media sizes.
     */
private void copyAttributes(PrintService printServ) {
    attributes = new HashPrintRequestAttributeSet();
    attributes.add(new JobName(docTitle, null));
    PrintService pServ = printServ;
    String printerName = jobAttributes.getPrinter();
    if (printerName != null && printerName != "" && !printerName.equals(pServ.getName())) {
        // Search for the given printerName in the list of PrintServices
        PrintService[] services = PrinterJob.lookupPrintServices();
        try {
            for (int i = 0; i < services.length; i++) {
                if (printerName.equals(services[i].getName())) {
                    printerJob.setPrintService(services[i]);
                    pServ = services[i];
                    break;
                }
            }
        } catch (PrinterException pe) {
        }
    }
    DestinationType dest = jobAttributes.getDestination();
    if (dest == DestinationType.FILE && pServ.isAttributeCategorySupported(Destination.class)) {
        String fileName = jobAttributes.getFileName();
        Destination defaultDest;
        if (fileName == null && (defaultDest = (Destination) pServ.getDefaultAttributeValue(Destination.class)) != null) {
            attributes.add(defaultDest);
        } else {
            URI uri = null;
            try {
                if (fileName != null) {
                    if (fileName.equals("")) {
                        fileName = ".";
                    }
                } else {
                    // defaultDest should not be null.  The following code
                    // is only added to safeguard against a possible
                    // buggy implementation of a PrintService having a
                    // null default Destination.
                    fileName = "out.prn";
                }
                uri = (new File(fileName)).toURI();
            } catch (SecurityException se) {
                try {
                    // '\\' file separator is illegal character in opaque
                    // part and causes URISyntaxException, so we replace
                    // it with '/'
                    fileName = fileName.replace('\\', '/');
                    uri = new URI("file:" + fileName);
                } catch (URISyntaxException e) {
                }
            }
            if (uri != null) {
                attributes.add(new Destination(uri));
            }
        }
    }
    attributes.add(new SunMinMaxPage(jobAttributes.getMinPage(), jobAttributes.getMaxPage()));
    SidesType sType = jobAttributes.getSides();
    if (sType == SidesType.TWO_SIDED_LONG_EDGE) {
        attributes.add(Sides.TWO_SIDED_LONG_EDGE);
    } else if (sType == SidesType.TWO_SIDED_SHORT_EDGE) {
        attributes.add(Sides.TWO_SIDED_SHORT_EDGE);
    } else if (sType == SidesType.ONE_SIDED) {
        attributes.add(Sides.ONE_SIDED);
    }
    MultipleDocumentHandlingType hType = jobAttributes.getMultipleDocumentHandling();
    if (hType == MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIES) {
        attributes.add(SheetCollate.COLLATED);
    } else {
        attributes.add(SheetCollate.UNCOLLATED);
    }
    attributes.add(new Copies(jobAttributes.getCopies()));
    attributes.add(new PageRanges(jobAttributes.getFromPage(), jobAttributes.getToPage()));
    if (pageAttributes.getColor() == ColorType.COLOR) {
        attributes.add(Chromaticity.COLOR);
    } else {
        attributes.add(Chromaticity.MONOCHROME);
    }
    pageFormat = printerJob.defaultPage();
    if (pageAttributes.getOrientationRequested() == OrientationRequestedType.LANDSCAPE) {
        pageFormat.setOrientation(PageFormat.LANDSCAPE);
        attributes.add(OrientationRequested.LANDSCAPE);
    } else {
        pageFormat.setOrientation(PageFormat.PORTRAIT);
        attributes.add(OrientationRequested.PORTRAIT);
    }
    MediaType media = pageAttributes.getMedia();
    MediaSizeName msn = mapMedia(media);
    if (msn != null) {
        attributes.add(msn);
    }
    PrintQualityType qType = pageAttributes.getPrintQuality();
    if (qType == PrintQualityType.DRAFT) {
        attributes.add(PrintQuality.DRAFT);
    } else if (qType == PrintQualityType.NORMAL) {
        attributes.add(PrintQuality.NORMAL);
    } else if (qType == PrintQualityType.HIGH) {
        attributes.add(PrintQuality.HIGH);
    }
}
Also used : Destination(javax.print.attribute.standard.Destination) PageRanges(javax.print.attribute.standard.PageRanges) MediaSizeName(javax.print.attribute.standard.MediaSizeName) JobName(javax.print.attribute.standard.JobName) PrinterException(java.awt.print.PrinterException) URISyntaxException(java.net.URISyntaxException) SunMinMaxPage(sun.print.SunMinMaxPage) URI(java.net.URI) PrintService(javax.print.PrintService) Copies(javax.print.attribute.standard.Copies) File(java.io.File) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet)

Aggregations

HashPrintRequestAttributeSet (javax.print.attribute.HashPrintRequestAttributeSet)40 PrintRequestAttributeSet (javax.print.attribute.PrintRequestAttributeSet)28 PrinterJob (java.awt.print.PrinterJob)16 PrintService (javax.print.PrintService)13 IOException (java.io.IOException)12 JobName (javax.print.attribute.standard.JobName)12 PrinterException (java.awt.print.PrinterException)10 File (java.io.File)9 DocFlavor (javax.print.DocFlavor)9 Copies (javax.print.attribute.standard.Copies)9 DocPrintJob (javax.print.DocPrintJob)8 Attribute (javax.print.attribute.Attribute)7 SimpleDoc (javax.print.SimpleDoc)6 PageFormat (java.awt.print.PageFormat)5 PrintException (javax.print.PrintException)5 PrintRequestAttribute (javax.print.attribute.PrintRequestAttribute)5 PrintServiceAttributeSet (javax.print.attribute.PrintServiceAttributeSet)4 Destination (javax.print.attribute.standard.Destination)4 java.awt.print (java.awt.print)3 Printable (java.awt.print.Printable)3