Example usage for org.apache.pdfbox.cos COSName STRUCT_PARENTS

List of usage examples for org.apache.pdfbox.cos COSName STRUCT_PARENTS

Introduction

In this page you can find the example usage for org.apache.pdfbox.cos COSName STRUCT_PARENTS.

Prototype

COSName STRUCT_PARENTS

To view the source code for org.apache.pdfbox.cos COSName STRUCT_PARENTS.

Click Source Link

Usage

From source file:org.apache.fop.render.pdf.PageParentTreeFinderTestCase.java

License:Apache License

@Test
public void testNoparentTreePresent() throws IOException {
    PDPage srcPage = new PDPage();
    srcPage.getCOSObject().setItem(COSName.STRUCT_PARENTS, COSInteger.get(-1));
    PDResources res = new PDResources();
    srcPage.setResources(res);//from   w w w .  j  av a  2 s.c o m
    PageParentTreeFinder finder = new PageParentTreeFinder(srcPage);
    COSArray parentTree = finder.getPageParentTreeArray(null);
    int test = parentTree.size();
    Assert.assertEquals(test, 0);
}

From source file:org.apache.fop.render.pdf.pdfbox.PageParentTreeFinder.java

License:Apache License

public COSArray getPageParentTreeArray(PDDocument srcDoc) throws IOException {
    int position = srcPage.getCOSObject().getInt(COSName.STRUCT_PARENTS);
    if (position == -1) {
        position = findXObjectStructParent();
    }/* w  w w  .j av  a  2s. c om*/
    if (position != -1) {
        PDNumberTreeNode srcNumberTreeNode = srcDoc.getDocumentCatalog().getStructureTreeRoot().getParentTree();
        return traverseParentTree(srcNumberTreeNode.getCOSObject(), position);
    }
    return new COSArray();
}

From source file:org.apache.fop.render.pdf.pdfbox.PageParentTreeFinder.java

License:Apache License

private int findXObjectStructParent() throws IOException {
    int position = -1;
    Iterable<COSName> mapXObject = srcPage.getResources().getXObjectNames();
    for (COSName n : mapXObject) {
        PDXObject t = srcPage.getResources().getXObject(n);
        COSDictionary xObjectDict = (COSDictionary) t.getCOSObject();
        position = xObjectDict.getInt(COSName.STRUCT_PARENTS);
        if (position != -1) {
            return position;
        }//  w ww .  j  av  a 2 s . c o  m
    }
    return position;
}