Package com.itextpdf.text.pdf
Class PdfWriter.PdfBody
- java.lang.Object
-
- com.itextpdf.text.pdf.PdfWriter.PdfBody
-
- Enclosing class:
- PdfWriter
public static class PdfWriter.PdfBody extends java.lang.ObjectThis 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
Nested Classes Modifier and Type Class Description static classPdfWriter.PdfBody.PdfCrossReferencePdfCrossReferenceis an entry in the PDF Cross-Reference table.
-
Field Summary
Fields Modifier and Type Field Description protected intcurrentObjNumprotected ByteBufferindexprotected intnumObjprotected longpositionthe current byte position in the body.protected intrefnumprotected ByteBufferstreamObjectsprotected PdfWriterwriterprotected java.util.TreeSet<PdfWriter.PdfBody.PdfCrossReference>xrefsarray containing the cross-reference table of the normal objects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PdfIndirectObjectadd(PdfObject object, int refNumber, int generation, boolean inObjStm)protected PdfWriter.PdfBody.PdfCrossReferenceaddToObjStm(PdfObject obj, int nObj)voidflushObjStm()protected intgetIndirectReferenceNumber()PdfIndirectReferencegetPdfIndirectReference()Gets a PdfIndirectReference for an object that will be created in the future.longoffset()Returns the offset of the Cross-Reference table.intsize()Returns the total number of objects contained in the CrossReferenceTable of thisBody.protected voidwrite(PdfIndirectObject indirect, int refNumber)protected voidwrite(PdfIndirectObject indirect, int refNumber, int generation)voidwriteCrossReferenceTable(java.io.OutputStream os, PdfIndirectReference root, PdfIndirectReference info, PdfIndirectReference encryption, PdfObject fileID, long prevxref)Returns the CrossReferenceTable of theBody.
-
-
-
Field Detail
-
xrefs
protected final java.util.TreeSet<PdfWriter.PdfBody.PdfCrossReference> xrefs
array containing the cross-reference table of the normal objects.
-
refnum
protected int refnum
-
position
protected long position
the current byte position in the body.
-
writer
protected final PdfWriter writer
-
index
protected ByteBuffer index
-
streamObjects
protected ByteBuffer streamObjects
-
currentObjNum
protected int currentObjNum
-
numObj
protected int numObj
-
-
Constructor Detail
-
PdfBody
protected PdfBody(PdfWriter writer)
Constructs a newPdfBody.- Parameters:
writer-
-
-
Method Detail
-
addToObjStm
protected PdfWriter.PdfBody.PdfCrossReference addToObjStm(PdfObject obj, int nObj) throws java.io.IOException
- Throws:
java.io.IOException
-
flushObjStm
public void flushObjStm() throws java.io.IOException- Throws:
java.io.IOException
-
getPdfIndirectReference
public PdfIndirectReference getPdfIndirectReference()
Gets a PdfIndirectReference for an object that will be created in the future.- Returns:
- a PdfIndirectReference
-
getIndirectReferenceNumber
protected int getIndirectReferenceNumber()
-
add
protected PdfIndirectObject add(PdfObject object, int refNumber, int generation, boolean inObjStm) throws java.io.IOException
- Throws:
java.io.IOException
-
write
protected void write(PdfIndirectObject indirect, int refNumber) throws java.io.IOException
- Throws:
java.io.IOException
-
write
protected void write(PdfIndirectObject indirect, int refNumber, int generation) throws java.io.IOException
- Throws:
java.io.IOException
-
offset
public long offset()
Returns the offset of the Cross-Reference table.- Returns:
- an offset
-
size
public int size()
Returns the total number of objects contained in the CrossReferenceTable of thisBody.- Returns:
- a number of objects
-
writeCrossReferenceTable
public void writeCrossReferenceTable(java.io.OutputStream os, PdfIndirectReference root, PdfIndirectReference info, PdfIndirectReference encryption, PdfObject fileID, long prevxref) throws java.io.IOExceptionReturns the CrossReferenceTable of theBody.- Parameters:
os-root-info-encryption-fileID-prevxref-- Throws:
java.io.IOException
-
-