Class PAPFormattedDiskPage

java.lang.Object
org.apache.poi.hwpf.model.FormattedDiskPage
org.apache.poi.hwpf.model.PAPFormattedDiskPage

@Internal public final class PAPFormattedDiskPage extends FormattedDiskPage
Represents a PAP FKP. The style properties for paragraph and character runs are stored in fkps. There are PAP fkps for paragraph properties and CHP fkps for character run properties. The first part of the fkp for both CHP and PAP fkps consists of an array of 4 byte int offsets in the main stream for that Paragraph's or Character run's text. The ending offset is the next value in the array. For example, if an fkp has X number of Paragraph's stored in it then there are (x + 1) 4 byte ints in the beginning array. The number X is determined by the last byte in a 512 byte fkp. CHP and PAP fkps also store the compressed styles(grpprl) that correspond to the offsets on the front of the fkp. The offset of the grpprls is determined differently for CHP fkps and PAP fkps.
Author:
Ryan Ackley
  • Constructor Details

    • PAPFormattedDiskPage

      public PAPFormattedDiskPage()
    • PAPFormattedDiskPage

      public PAPFormattedDiskPage(byte[] documentStream, byte[] dataStream, int offset, CharIndexTranslator translator)
      Creates a PAPFormattedDiskPage from a 512 byte array
  • Method Details

    • fill

      public void fill(List<PAPX> filler)
      Fills the queue for writing.
      Parameters:
      filler - a List of PAPXs
    • getPAPX

      public PAPX getPAPX(int index)
      Gets the PAPX at index.
      Parameters:
      index - The index to get the PAPX for.
      Returns:
      The PAPX at index.
    • getPAPXs

      public List<PAPX> getPAPXs()
    • getGrpprl

      protected byte[] getGrpprl(int index)
      Gets the papx grpprl for the paragraph at index in this fkp.
      Specified by:
      getGrpprl in class FormattedDiskPage
      Parameters:
      index - The index of the papx to get.
      Returns:
      a papx grpprl.
    • toByteArray

      protected byte[] toByteArray(ByteArrayOutputStream dataStream, CharIndexTranslator translator) throws IOException
      Creates a byte array representation of this data structure. Suitable for writing to a Word document.
      Parameters:
      dataStream - required if PAPX is too big to fit in FKP
      Returns:
      A byte array representing this data structure.
      Throws:
      IOException - if an I/O error occurs.