com.itextpdf.text.pdf
Class PdfWriter.PdfBody

java.lang.Object
  extended by com.itextpdf.text.pdf.PdfWriter.PdfBody
Enclosing class:
PdfWriter

public static class PdfWriter.PdfBody
extends Object

This class generates the structure of a PDF document.

This class covers the third section of Chapter 5 in the 'Portable Document Format Reference Manual version 1.3' (page 55-60). It contains the body of a PDF document (section 5.14) and it can also generate a Cross-reference Table (section 5.15).

See Also:
PdfWriter, PdfObject, PdfIndirectObject

Nested Class Summary
(package private) static class PdfWriter.PdfBody.PdfCrossReference
          PdfCrossReference is an entry in the PDF Cross-Reference table.
 
Field Summary
private  int currentObjNum
           
private  ByteBuffer index
           
private  int numObj
           
private static int OBJSINSTREAM
           
private  int position
          the current byte position in the body.
private  int refnum
           
private  ByteBuffer streamObjects
           
private  PdfWriter writer
           
private  TreeSet<PdfWriter.PdfBody.PdfCrossReference> xrefs
          array containing the cross-reference table of the normal objects.
 
Constructor Summary
PdfWriter.PdfBody(PdfWriter writer)
          Constructs a new PdfBody.
 
Method Summary
(package private)  PdfIndirectObject add(PdfObject object)
          Adds a PdfObject to the body.
(package private)  PdfIndirectObject add(PdfObject object, boolean inObjStm)
           
(package private)  PdfIndirectObject add(PdfObject object, int refNumber)
           
(package private)  PdfIndirectObject add(PdfObject object, int refNumber, boolean inObjStm)
           
(package private)  PdfIndirectObject add(PdfObject object, PdfIndirectReference ref)
          Adds a PdfObject to the body given an already existing PdfIndirectReference.
(package private)  PdfIndirectObject add(PdfObject object, PdfIndirectReference ref, boolean inObjStm)
           
private  PdfWriter.PdfBody.PdfCrossReference addToObjStm(PdfObject obj, int nObj)
           
private  void flushObjStm()
           
(package private)  int getIndirectReferenceNumber()
           
(package private)  PdfIndirectReference getPdfIndirectReference()
          Gets a PdfIndirectReference for an object that will be created in the future.
(package private)  int offset()
          Returns the offset of the Cross-Reference table.
(package private)  void setRefnum(int refnum)
           
(package private)  int size()
          Returns the total number of objects contained in the CrossReferenceTable of this Body.
(package private)  void writeCrossReferenceTable(OutputStream os, PdfIndirectReference root, PdfIndirectReference info, PdfIndirectReference encryption, PdfObject fileID, int prevxref)
          Returns the CrossReferenceTable of the Body.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OBJSINSTREAM

private static final int OBJSINSTREAM
See Also:
Constant Field Values

xrefs

private TreeSet<PdfWriter.PdfBody.PdfCrossReference> xrefs
array containing the cross-reference table of the normal objects.


refnum

private int refnum

position

private int position
the current byte position in the body.


writer

private PdfWriter writer

index

private ByteBuffer index

streamObjects

private ByteBuffer streamObjects

currentObjNum

private int currentObjNum

numObj

private int numObj
Constructor Detail

PdfWriter.PdfBody

PdfWriter.PdfBody(PdfWriter writer)
Constructs a new PdfBody.

Parameters:
writer -
Method Detail

setRefnum

void setRefnum(int refnum)

addToObjStm

private PdfWriter.PdfBody.PdfCrossReference addToObjStm(PdfObject obj,
                                                        int nObj)
                                                 throws IOException
Throws:
IOException

flushObjStm

private void flushObjStm()
                  throws IOException
Throws:
IOException

add

PdfIndirectObject add(PdfObject object)
                throws IOException
Adds a PdfObject to the body.

This methods creates a PdfIndirectObject with a certain number, containing the given PdfObject. It also adds a PdfCrossReference for this object to an ArrayList that will be used to build the Cross-reference Table.

Parameters:
object - a PdfObject
Returns:
a PdfIndirectObject
Throws:
IOException

add

PdfIndirectObject add(PdfObject object,
                      boolean inObjStm)
                throws IOException
Throws:
IOException

getPdfIndirectReference

PdfIndirectReference getPdfIndirectReference()
Gets a PdfIndirectReference for an object that will be created in the future.

Returns:
a PdfIndirectReference

getIndirectReferenceNumber

int getIndirectReferenceNumber()

add

PdfIndirectObject add(PdfObject object,
                      PdfIndirectReference ref)
                throws IOException
Adds a PdfObject to the body given an already existing PdfIndirectReference.

This methods creates a PdfIndirectObject with the number given by ref, containing the given PdfObject. It also adds a PdfCrossReference for this object to an ArrayList that will be used to build the Cross-reference Table.

Parameters:
object - a PdfObject
ref - a PdfIndirectReference
Returns:
a PdfIndirectObject
Throws:
IOException

add

PdfIndirectObject add(PdfObject object,
                      PdfIndirectReference ref,
                      boolean inObjStm)
                throws IOException
Throws:
IOException

add

PdfIndirectObject add(PdfObject object,
                      int refNumber)
                throws IOException
Throws:
IOException

add

PdfIndirectObject add(PdfObject object,
                      int refNumber,
                      boolean inObjStm)
                throws IOException
Throws:
IOException

offset

int offset()
Returns the offset of the Cross-Reference table.

Returns:
an offset

size

int size()
Returns the total number of objects contained in the CrossReferenceTable of this Body.

Returns:
a number of objects

writeCrossReferenceTable

void writeCrossReferenceTable(OutputStream os,
                              PdfIndirectReference root,
                              PdfIndirectReference info,
                              PdfIndirectReference encryption,
                              PdfObject fileID,
                              int prevxref)
                        throws IOException
Returns the CrossReferenceTable of the Body.

Parameters:
os -
root -
info -
encryption -
fileID -
prevxref -
Throws:
IOException

Hosted by Hostbasket