Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-2704

PDPageTree.indexOf doesn't find page numbers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • PDModel
    • 2.0.0-SNAPSHOT r1665633

    Description

      I know 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:

       @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()));
          }
      

      Another similar issue I have is that PDPageTree.indexOf doesn't find the correct index for a PDPage returned by the PDOutlineItem.findDestinationPage:

      @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)));
                  }
              }
          }
      

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

      Attachments

        1. bigger_outline_test.pdf
          20 kB
          Andrea Vacondio
        2. page_tree_index_of.diff
          7 kB
          Andrea Vacondio
        3. page_tree_multiple_levels.pdf
          2 kB
          Andrea Vacondio
        4. with_outline.pdf
          20 kB
          Andrea Vacondio

        Issue Links

          Activity

            People

              tilman Tilman Hausherr
              torakiki Andrea Vacondio
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: