Example usage for com.itextpdf.text.pdf PdfName QUADPOINTS

List of usage examples for com.itextpdf.text.pdf PdfName QUADPOINTS

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfName QUADPOINTS.

Prototype

PdfName QUADPOINTS

To view the source code for com.itextpdf.text.pdf PdfName QUADPOINTS.

Click Source Link

Document

A name

Usage

From source file:mkl.testarea.itext5.pdfcleanup.StrictPdfCleanUpProcessor.java

License:Open Source License

/**
 * Extracts locations from the concrete annotation.
 * Note: annotation can consist not only of one area specified by the RECT entry, but also of multiple areas specified
 * by the QuadPoints entry in the annotation dictionary.
 *//*from   w  ww  .j a v  a2s .  co  m*/
private List<PdfCleanUpLocation> extractLocationsFromRedactAnnot(int page, int annotIndex,
        PdfDictionary annotDict) {
    List<PdfCleanUpLocation> locations = new ArrayList<PdfCleanUpLocation>();
    List<Rectangle> markedRectangles = new ArrayList<Rectangle>();
    PdfArray quadPoints = annotDict.getAsArray(PdfName.QUADPOINTS);

    if (quadPoints.size() != 0) {
        markedRectangles.addAll(translateQuadPointsToRectangles(quadPoints));
    } else {
        PdfArray annotRect = annotDict.getAsArray(PdfName.RECT);
        markedRectangles
                .add(new Rectangle(annotRect.getAsNumber(0).floatValue(), annotRect.getAsNumber(1).floatValue(),
                        annotRect.getAsNumber(2).floatValue(), annotRect.getAsNumber(3).floatValue()));
    }

    clippingRects.put(annotIndex, markedRectangles);

    BaseColor cleanUpColor = null;
    PdfArray ic = annotDict.getAsArray(PdfName.IC);

    if (ic != null) {
        cleanUpColor = new BaseColor(ic.getAsNumber(0).floatValue(), ic.getAsNumber(1).floatValue(),
                ic.getAsNumber(2).floatValue());
    }

    PdfStream ro = annotDict.getAsStream(PdfName.RO);

    if (ro != null) {
        cleanUpColor = null;
    }

    for (Rectangle rect : markedRectangles) {
        locations.add(new PdfCleanUpLocation(page, rect, cleanUpColor));
    }

    return locations;
}