Andrea Vacondio created PDFBOX-2704:
---------------------------------------

             Summary: PDPageTree.indexOf doesn't find page numbers
                 Key: PDFBOX-2704
                 URL: https://issues.apache.org/jira/browse/PDFBOX-2704
             Project: PDFBox
          Issue Type: Bug
          Components: PDModel
    Affects Versions: 2.0.0
         Environment: 2.0.0-SNAPSHOT r1665633
            Reporter: Andrea Vacondio


I know https://issues.apache.org/jira/browse/PDFBOX-2423 is not closed yet so 
I'm not sure if the issues I'm having are a cause of that.
I'm using the latest trunk and I have issues with the PDPageTree.indexOf 
method. The javadoc reads ??Returns the index of the given page, or -1 if it 
does not exist.?? which I understand it means in returns -1 if the given page 
is not found in the page tree correct? If so, the following unit test fails:
{code}
 @Test
    public void indexOfNotFoundPage() throws IOException {
        PDDocument doc1 = PDDocument.load(getClass().getClassLoader()
                .getResourceAsStream("pdf/bigger_outline_test.pdf"));
        assertEquals(-1, doc1.getPages().indexOf(new PDPage()));
    }
{code}

Another similar issue I have is that PDPageTree.indexOf doesn't find the 
correct index for a PDPage returned by the PDOutlineItem.findDestinationPage:
{code}
@Test
    public void indexOfPageFromOutlineDestination() throws IOException {
        PDDocument doc = PDDocument
                
.load(getClass().getClassLoader().getResourceAsStream("pdf/bigger_outline_test.pdf"));
        PDDocumentOutline outline = 
doc.getDocumentCatalog().getDocumentOutline();
        for (PDOutlineItem current : outline.children()) {
            if (current.getTitle().contains("Second")) {
                assertEquals(3, 
doc.getPages().indexOf(current.findDestinationPage(doc)));
            }
        }
    }
{code}

Also note that indexOf is used by PDPageDestination.findPageNumber which also 
returns a wrong result.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to