Example usage for javax.print.attribute.standard PageRanges contains

List of usage examples for javax.print.attribute.standard PageRanges contains

Introduction

In this page you can find the example usage for javax.print.attribute.standard PageRanges contains.

Prototype

public boolean contains(int x) 

Source Link

Document

Determine if this set-of-integer attribute contains the given value.

Usage

From source file:com.idr.servlets.UploadServlet.java

/**
 * Uploading the file to the sever and complete the conversion
 * @param request/*from w w  w  .  j  av a 2s  .  com*/
 * @param response 
 */
private void doFileUpload(HttpServletRequest request, HttpServletResponse response) {

    //        System.out.println("Doing upload"+System.currentTimeMillis());
    HttpSession session = request.getSession();

    session.setAttribute("href", null);
    session.setAttribute("FILE_UPLOAD_STATS", null);
    session.setAttribute("pageCount", 0);
    session.setAttribute("pageReached", 0);
    session.setAttribute("isUploading", "true");
    session.setAttribute("isConverting", "false");
    session.setAttribute("convertType", "html");
    session.setAttribute("isZipping", "false");
    con = new Converter();
    byte[] fileBytes = null;

    String sessionId = session.getId();
    String userFileName = "";
    HashMap<String, String> paramMap = new HashMap<String, String>();
    int conType = Converter.getConversionType(request.getRequestURI());

    int startPageNumber = 1;
    int pageCount = 0;

    try {

        if (ServletFileUpload.isMultipartContent(request)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            UploadListener listener = new UploadListener();//listens file uploads                  
            upload.setProgressListener(listener);
            session.setAttribute("FILE_UPLOAD_STATS", listener);
            List<FileItem> fields = upload.parseRequest(request);
            Iterator<FileItem> it = fields.iterator();
            FileItem fileItem = null;
            if (!it.hasNext()) {
                return;//("No fields found");
            }
            while (it.hasNext()) {
                FileItem field = it.next();
                if (field.isFormField()) {
                    String fieldName = field.getFieldName();
                    Flag.updateParameterMap(fieldName, field.getString(), paramMap);
                    field.delete();
                } else {
                    fileItem = field;
                }
            }
            //Flags whether the file is a .zip or a .pdf
            if (fileItem.getName().contains(".pdf")) {
                isPDF = true;
                isZip = false;
            } else if (fileItem.getName().contains(".zip")) {
                isZip = true;
                isPDF = false;
            }
            //removes the last 4 chars and replaces odd chars with underscore
            userFileName = fileItem.getName().substring(0, fileItem.getName().length() - 4)
                    .replaceAll("[^a-zA-Z0-9]", "_");
            fileBytes = fileItem.get();
            fileItem.delete();
        }

        // Delete existing editor files if any exist. 
        if (isEditorLinkOutput) {
            File editorFolder = new File(Converter.EDITORPATH + "/" + sessionId + "/");
            if (editorFolder.exists()) {
                FileUtils.deleteDirectory(editorFolder);
            }
        }
        con.initializeConversion(sessionId, userFileName, fileBytes, isZip);
        PdfDecoderServer decoder = new PdfDecoderServer(false);
        decoder.openPdfFile(con.getUserPdfFilePath());
        pageCount = decoder.getPageCount();
        //Check whether or not the PDF contains forms
        if (decoder.isForm()) {
            session.setAttribute("isForm", "true"); //set an attrib for extraction.jps to use
            response.getWriter().println("<div id='isForm'></div>");
        } else if (!decoder.isForm()) {
            session.setAttribute("isForm", "false"); //set an attrib for extraction.jps to use
        }
        //Check whther or not the PDF is XFA
        if (decoder.getFormRenderer().isXFA()) {
            session.setAttribute("isXFA", "true");
            //                response.getWriter().println("<div id='isXFA'></div>");
        } else if (!decoder.getFormRenderer().isXFA()) {
            session.setAttribute("isXFA", "false");
        }
        decoder.closePdfFile(); //closes file

        if (paramMap.containsKey("org.jpedal.pdf2html.realPageRange")) {
            String tokensCSV = (String) paramMap.get("org.jpedal.pdf2html.realPageRange");
            PageRanges range = new PageRanges(tokensCSV);
            ArrayList<Integer> rangeList = new ArrayList<Integer>();
            for (int z = 0; z < pageCount; z++) {
                if (range.contains(z)) {
                    rangeList.add(z);
                }
            }
            int userPageCount = rangeList.size();
            if (rangeList.size() > 0) {
                session.setAttribute("pageCount", userPageCount);
            } else {
                throw new Exception("invalid Page Range");
            }
        } else {
            session.setAttribute("pageCount", pageCount);
        }

        session.setAttribute("isUploading", "false");
        session.setAttribute("isConverting", "true");

        String scales = paramMap.get("org.jpedal.pdf2html.scaling");
        String[] scaleArr = null;
        String userOutput = con.getUserFileDirName();
        if (scales != null && scales.contains(",")) {
            scaleArr = scales.split(",");
        }

        String reference = UploadServlet.getConvertedFileHref(sessionId, userFileName, conType, pageCount,
                startPageNumber, paramMap, scaleArr, isZip) + "<br/><br/>";

        if (isZipLinkOutput) {
            reference = reference + con.getZipFileHref(userOutput, scaleArr);
        }

        if (isEditorLinkOutput && conType != Converter.PDF2ANDROID && conType != Converter.PDF2IMAGE) {
            reference = reference + "<br/><br/>" + con.getEditorHref(userOutput, scaleArr); // editor link
        }
        String typeString = Converter.getConversionTypeAsString(conType);

        converterThread(userFileName, scaleArr, fileBytes, typeString, paramMap, session, pageCount, reference);

    } catch (Exception ex) {
        session.setAttribute("href", "<end></end><div class='errorMsg'>Error: " + ex.getMessage() + "</div>");
        Logger.getLogger(UploadServlet.class.getName()).log(Level.SEVERE, null, ex);
        cancelUpload(request, response);
    }
}