Examples of AcroRenderer


Examples of org.jpedal.objects.acroforms.rendering.AcroRenderer

    public void paintPage(Graphics2D g2, PdfDecoder pdfDecoder, Display pages, PdfPageData pageData, int pageNumber,
                          DynamicVectorRenderer currentDisplay, int displayView, int displayRotation, int insetW, int insetH,
                          TextLines textLines, Border myBorder, PageOffsets currentOffset, ExternalHandlers externalHandlers){

        AcroRenderer formRenderer=pdfDecoder.getFormRenderer();
        Rectangle visibleRect=pdfDecoder.getVisibleRect();
        int pageCount=pdfDecoder.getPageCount();
        float scaling=pdfDecoder.getScaling();

        pages.init(scaling, pageCount, displayRotation, pageNumber, currentDisplay, false, pageData, insetW, insetH);

        //remember so we can put it back
        final AffineTransform rawAf=g2.getTransform();

        //include any user trnaslation
        g2.translate(displayOffsets.getUserOffsetX(), displayOffsets.getUserOffsetY());

        //track all changes
        int start=pageNumber,end=pageNumber;

        //control if we display forms on multiple pages
        if(displayView!=Display.SINGLE_PAGE && displayView!=Display.PAGEFLOW){
            start= pages.getStartPage();
            end= pages.getEndPage();
            if(start==0 || end==0 || lastEnd!=end || lastStart!=start)
                lastFormPage=-1;

            lastEnd=end;
            lastStart=start;

        }

        if(lastFormPage!=pageNumber){

            if (formRenderer != null){
                formRenderer.displayComponentsOnscreen(start,end);

                //switch off if forms for this page found
                if(formRenderer.getCompData().getStartComponentCountForPage(pageNumber)!=-1)
                    lastFormPage=pageNumber; //ensure not called too early
            }
        }

        //center if required
        if(pdfDecoder.alignment==Display.DISPLAY_CENTERED){
            double width=pdfDecoder.getBounds().getWidth();

            if(displayView==Display.PAGEFLOW)
                width=visibleRect.getWidth();

            int pdfWidth=pdfDecoder.getPDFWidth();
            if(displayView!=Display.SINGLE_PAGE)
                pdfWidth=(int) pages.getPageSize(displayView).getWidth();

            //we indent it here so selected page is  in middle of panel and now make rest of co-ords relative which is all much easier....
            if(displayView==Display.PAGEFLOW){

                indent=((visibleRect.width- pages.getWidthForPage(pageNumber))/2)-insetW-pdfDecoder.getBounds().x;

            } else if (displayView==Display.FACING) {

                int page = pageNumber;
                if (pages.getSeparateCover() && (page & 1)==1)
                    page--;
                else if (!pages.getSeparateCover() && (page & 1)==0)
                    page--;

                //Get widths of pages
                int firstW,secondW;
                if ((displayRotation + pageData.getRotation(page))%180==90)
                    firstW = pageData.getCropBoxHeight(page);
                else
                    firstW = pageData.getCropBoxWidth(page);

                if (page+1 > pageCount) {
                    secondW = firstW;
                } else {
                    if ((displayRotation + pageData.getRotation(page + 1))%180==90)
                        secondW = pageData.getCropBoxHeight(page + 1);
                    else
                        secondW = pageData.getCropBoxWidth(page + 1);
                }

                //set pageGap
                int pageGap = 0;
                if (!pages.getTurnoverOn() || pageData.hasMultipleSizes() || pageCount==2)
                    pageGap = currentOffset.pageGap/2;

                //set indent
                indent = (((width - ((firstW + secondW) * scaling)) / 2) - pageGap - insetW);
            } else
                indent=((width-pdfWidth)/2);

            if(displayView==Display.SINGLE_PAGE)
                lastIndent=(int)indent;
            else if((displayView==Display.CONTINUOUS || displayView==Display.PAGEFLOW) && lastIndent!=-1){
                indent=lastIndent;
                lastIndent = -1;
            }else
                lastIndent=-1;

            g2.translate(indent,0);

            if(formRenderer!=null && currentOffset !=null){ //if all forms flattened, we can get a null value for currentOffset so avoid this case

                if(displayView==Display.PAGEFLOW)
                    indent= indent-((pageNumber-1)*(PageOffsets.getPageFlowPageWidth((int)(pageData.getCropBoxWidth(pageNumber)*scaling),scaling)));

                formRenderer.getCompData().setPageValues(scaling,displayRotation,(int)indent,displayOffsets.getUserOffsetX(), displayOffsets.getUserOffsetY(),displayView,currentOffset.widestPageNR, currentOffset.widestPageR);
                formRenderer.getCompData().resetScaledLocation(scaling,displayRotation,(int)indent);//indent here does nothing.
            }
        }else if(formRenderer!=null && currentOffset !=null){
            lastIndent=-1;
            formRenderer.getCompData().setPageValues(scaling,displayRotation,(int)indent,displayOffsets.getUserOffsetX(), displayOffsets.getUserOffsetY(),displayView, currentOffset.widestPageNR, currentOffset.widestPageR);
            formRenderer.getCompData().resetScaledLocation(scaling,displayRotation,(int)indent);
        }

        pages.initRenderer(textLines.areas, g2, myBorder, (int) indent);

        pages.drawPage(viewScaling, pdfDecoder.displayScaling, pageUsedForTransform);
View Full Code Here

Examples of org.jpedal.objects.acroforms.rendering.AcroRenderer

            }
          }
        }

        /** handle signatures pane*/
        AcroRenderer currentFormRenderer = decode_pdf.getFormRenderer();

                Iterator signatureObjects = currentFormRenderer.getSignatureObjects();

                if(signatureObjects != null){

                    DefaultMutableTreeNode root = new DefaultMutableTreeNode("Signatures");

View Full Code Here

Examples of org.jpedal.objects.acroforms.rendering.AcroRenderer

        /** sort form names in alphabetical order */
        Collections.sort(formsOnPage);

                //get FormRenderer and Data objects
                AcroRenderer renderer = decode_pdf.getFormRenderer();
                if(renderer==null)
                        return scroll;
                GUIData formData=renderer.getCompData();

        /**
         * populate our list with details
         */
                for (Object aFormsOnPage : formsOnPage) {
View Full Code Here

Examples of org.jpedal.objects.acroforms.rendering.AcroRenderer

   
    for(int page = 1; page<=pdfDecoder.getPageCount(); page++) {
        try {
        pdfDecoder.decodePage(page);
        pdfDecoder.waitForDecodingToFinish();
            AcroRenderer currentFormRenderer = pdfDecoder.getFormRenderer();
            Iterator signatureObjects = currentFormRenderer.getSignatureObjects();
            if(signatureObjects!=null) {
              signData.setAppend(true);
              break;
            }
      } catch (Exception e) {
View Full Code Here

Examples of org.jpedal.objects.acroforms.rendering.AcroRenderer

        midPos.calc();

    }

    void calcAllFormObjectPositions() {
        AcroRenderer formRenderer = pdfDecoder.getFormRenderer();
        PdfDecoder decodePdf = pdfDecoder;
        Map i = decodePdf.getFormRenderer().getCompData().getRawFormData();
        Set keys = i.keySet();
        allFormObjectPositions = new HashMap<Long, Vector<FormObject>>();
        for (Object key : keys) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.