com.lowagie.text.pdf

## Class PdfReader.PageRefs

- java.lang.Object
- - com.lowagie.text.pdf.PdfReader.PageRefs

- Enclosing class:
    PdfReader

      static class PdfReader.PageRefs
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private boolean` | `keepPages`
    `private int` | `lastPageRead` Page number of the last page that was read (partial reading only)
    `private java.util.ArrayList` | `pageInh` stack to which pages dictionaries are pushed to keep track of the current page attributes
    `private PdfReader` | `reader`
    `private java.util.ArrayList` | `refsn` ArrayList with the indirect references to every page.
    `private IntHashtable` | `refsp` intHashtable that does the same thing as refsn in case of partial reading: major difference: not all the pages are read.
    `private int` | `sizep` The number of pages, updated only in case of partial reading.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `(package private)` | `PdfReader.PageRefs(PdfReader.PageRefs other, PdfReader reader)`
    `private` | `PdfReader.PageRefs(PdfReader reader)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PdfDictionary` | `getPageN(int pageNum)` Gets the dictionary that represents a page.
    `PdfDictionary` | `getPageNRelease(int pageNum)`
    `PRIndirectReference` | `getPageOrigRef(int pageNum)` Gets the page reference to this page.
    `PRIndirectReference` | `getPageOrigRefRelease(int pageNum)`
    `protected PRIndirectReference` | `getSinglePage(int n)`
    `(package private) void` | `insertPage(int pageNum, PRIndirectReference ref)`
    `private void` | `iteratePages(PRIndirectReference rpage)`
    `(package private) void` | `keepPages()`
    `private void` | `popPageAttributes()` Removes the last PdfDictionary that was pushed to the pageInh stack.
    `private void` | `pushPageAttributes(PdfDictionary nodePages)` Adds a PdfDictionary to the pageInh stack to keep track of the page attributes.
    `(package private) void` | `readPages()`
    `void` | `releasePage(int pageNum)`
    `(package private) void` | `reReadPages()`
    `void` | `resetReleasePage()`
    `private void` | `selectPages(java.util.List pagesToKeep)`
    `(package private) int` | `size()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### reader

          private PdfReader reader

    - #### refsn

          private java.util.ArrayList refsn

      ArrayList with the indirect references to every page. Element 0 = page 1; 1 = page 2;... Not used for partial reading.

    - #### sizep

          private int sizep

      The number of pages, updated only in case of partial reading.

    - #### refsp

          private IntHashtable refsp

      intHashtable that does the same thing as refsn in case of partial reading: major difference: not all the pages are read.

    - #### lastPageRead

          private int lastPageRead

      Page number of the last page that was read (partial reading only)

    - #### pageInh

          private java.util.ArrayList pageInh

      stack to which pages dictionaries are pushed to keep track of the current page attributes

    - #### keepPages

          private boolean keepPages

  - ### Constructor Detail

    - #### PdfReader.PageRefs

          private PdfReader.PageRefs(PdfReader reader)
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### PdfReader.PageRefs

          PdfReader.PageRefs(PdfReader.PageRefs other,
                            PdfReader reader)

  - ### Method Detail

    - #### size

          int size()

    - #### readPages

          void readPages()
                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### reReadPages

          void reReadPages()
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getPageN

          public PdfDictionary getPageN(int pageNum)

      Gets the dictionary that represents a page.
      Parameters:
        `pageNum` - the page number. 1 is the first
      Returns:
        the page dictionary

    - #### getPageNRelease

          public PdfDictionary getPageNRelease(int pageNum)

      Parameters:
        `pageNum` -
      Returns:
        a dictionary object

    - #### getPageOrigRefRelease

          public PRIndirectReference getPageOrigRefRelease(int pageNum)

      Parameters:
        `pageNum` -
      Returns:
        an indirect reference

    - #### getPageOrigRef

          public PRIndirectReference getPageOrigRef(int pageNum)

      Gets the page reference to this page.
      Parameters:
        `pageNum` - the page number. 1 is the first
      Returns:
        the page reference

    - #### keepPages

          void keepPages()

    - #### releasePage

          public void releasePage(int pageNum)

      Parameters:
        `pageNum` -

    - #### resetReleasePage

          public void resetReleasePage()

    - #### insertPage

          void insertPage(int pageNum,
                        PRIndirectReference ref)

    - #### pushPageAttributes

          private void pushPageAttributes(PdfDictionary nodePages)

      Adds a PdfDictionary to the pageInh stack to keep track of the page attributes.
      Parameters:
        `nodePages` - a Pages dictionary

    - #### popPageAttributes

          private void popPageAttributes()

      Removes the last PdfDictionary that was pushed to the pageInh stack.

    - #### iteratePages

          private void iteratePages(PRIndirectReference rpage)
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getSinglePage

          protected PRIndirectReference getSinglePage(int n)

    - #### selectPages

          private void selectPages(java.util.List pagesToKeep)