Search in sources :

Example 11 with COSArrayList

use of org.apache.pdfbox.pdmodel.common.COSArrayList in project pdfbox by apache.

the class FDFDictionary method getFields.

/**
 * This will get the list of FDF Fields. This will return a list of FDFField objects.
 *
 * @return A list of FDF fields.
 */
public List<FDFField> getFields() {
    List<FDFField> retval = null;
    COSArray fieldArray = (COSArray) fdf.getDictionaryObject(COSName.FIELDS);
    if (fieldArray != null) {
        List<FDFField> fields = new ArrayList<>();
        for (int i = 0; i < fieldArray.size(); i++) {
            fields.add(new FDFField((COSDictionary) fieldArray.getObject(i)));
        }
        retval = new COSArrayList<>(fields, fieldArray);
    }
    return retval;
}
Also used : COSArray(org.apache.pdfbox.cos.COSArray) COSDictionary(org.apache.pdfbox.cos.COSDictionary) COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) ArrayList(java.util.ArrayList)

Example 12 with COSArrayList

use of org.apache.pdfbox.pdmodel.common.COSArrayList in project pdfbox by apache.

the class FDFDictionary method getAnnotations.

/**
 * This will get the list of FDF Annotations. This will return a list of FDFAnnotation objects or null if the entry
 * is not set.
 *
 * @return A list of FDF annotations.
 *
 * @throws IOException If there is an error creating the annotation list.
 */
public List<FDFAnnotation> getAnnotations() throws IOException {
    List<FDFAnnotation> retval = null;
    COSArray annotArray = (COSArray) fdf.getDictionaryObject(COSName.ANNOTS);
    if (annotArray != null) {
        List<FDFAnnotation> annots = new ArrayList<>();
        for (int i = 0; i < annotArray.size(); i++) {
            annots.add(FDFAnnotation.create((COSDictionary) annotArray.getObject(i)));
        }
        retval = new COSArrayList<>(annots, annotArray);
    }
    return retval;
}
Also used : COSArray(org.apache.pdfbox.cos.COSArray) COSDictionary(org.apache.pdfbox.cos.COSDictionary) COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) ArrayList(java.util.ArrayList)

Example 13 with COSArrayList

use of org.apache.pdfbox.pdmodel.common.COSArrayList in project pdfbox by apache.

the class FDFField method getKids.

/**
 * This will get the list of kids. This will return a list of FDFField objects. This will return null if the
 * underlying list is null.
 *
 * @return The list of kids.
 */
public List<FDFField> getKids() {
    COSArray kids = (COSArray) field.getDictionaryObject(COSName.KIDS);
    List<FDFField> retval = null;
    if (kids != null) {
        List<FDFField> actuals = new ArrayList<>();
        for (int i = 0; i < kids.size(); i++) {
            actuals.add(new FDFField((COSDictionary) kids.getObject(i)));
        }
        retval = new COSArrayList<>(actuals, kids);
    }
    return retval;
}
Also used : COSArray(org.apache.pdfbox.cos.COSArray) COSDictionary(org.apache.pdfbox.cos.COSDictionary) COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) ArrayList(java.util.ArrayList)

Example 14 with COSArrayList

use of org.apache.pdfbox.pdmodel.common.COSArrayList in project pdfbox by apache.

the class FDFTemplate method getFields.

/**
 * This will get a list of fields that are part of this template.
 *
 * @return A list of fields.
 */
public List<FDFField> getFields() {
    List<FDFField> retval = null;
    COSArray array = (COSArray) template.getDictionaryObject(COSName.FIELDS);
    if (array != null) {
        List<FDFField> fields = new ArrayList<>();
        for (int i = 0; i < array.size(); i++) {
            fields.add(new FDFField((COSDictionary) array.getObject(i)));
        }
        retval = new COSArrayList<>(fields, array);
    }
    return retval;
}
Also used : COSArray(org.apache.pdfbox.cos.COSArray) COSDictionary(org.apache.pdfbox.cos.COSDictionary) COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) ArrayList(java.util.ArrayList)

Example 15 with COSArrayList

use of org.apache.pdfbox.pdmodel.common.COSArrayList in project pdfbox by apache.

the class PDPage method getThreadBeads.

/**
 * This will get a list of PDThreadBead objects, which are article threads in the document. This
 * will return an empty list if there are no thread beads.
 *
 * @return A list of article threads on this page, never null. The returned list is backed by
 * the beads COSArray, so any adding or deleting in this list will change the document too.
 */
public List<PDThreadBead> getThreadBeads() {
    COSArray beads = (COSArray) page.getDictionaryObject(COSName.B);
    if (beads == null) {
        beads = new COSArray();
    }
    List<PDThreadBead> pdObjects = new ArrayList<>();
    for (int i = 0; i < beads.size(); i++) {
        COSBase base = beads.getObject(i);
        PDThreadBead bead = null;
        // in some cases the bead is null
        if (base instanceof COSDictionary) {
            bead = new PDThreadBead((COSDictionary) base);
        }
        pdObjects.add(bead);
    }
    return new COSArrayList<>(pdObjects, beads);
}
Also used : COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) COSArray(org.apache.pdfbox.cos.COSArray) COSDictionary(org.apache.pdfbox.cos.COSDictionary) COSArrayList(org.apache.pdfbox.pdmodel.common.COSArrayList) ArrayList(java.util.ArrayList) COSBase(org.apache.pdfbox.cos.COSBase) PDThreadBead(org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThreadBead)

Aggregations

COSArray (org.apache.pdfbox.cos.COSArray)19 COSArrayList (org.apache.pdfbox.pdmodel.common.COSArrayList)19 ArrayList (java.util.ArrayList)18 COSDictionary (org.apache.pdfbox.cos.COSDictionary)11 COSBase (org.apache.pdfbox.cos.COSBase)5 PDAnnotation (org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation)2 Point (java.awt.Point)1 List (java.util.List)1 COSDocument (org.apache.pdfbox.cos.COSDocument)1 COSString (org.apache.pdfbox.cos.COSString)1 PDFileSpecification (org.apache.pdfbox.pdmodel.common.filespecification.PDFileSpecification)1 PDAnnotationWidget (org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget)1 PDAcroForm (org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm)1 PDField (org.apache.pdfbox.pdmodel.interactive.form.PDField)1 PDSignatureField (org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField)1 PDThread (org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThread)1 PDThreadBead (org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThreadBead)1