Class PdfWriter.PdfBody
- java.lang.Object
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfWriter.PdfBody
-
- Enclosing class:
- PdfWriter
public static class PdfWriter.PdfBody extends java.lang.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
Nested Classes Modifier and Type Class Description (package private) static class
PdfWriter.PdfBody.PdfCrossReference
PdfCrossReference
is an entry in the PDF Cross-Reference table.
-
Field Summary
Fields Modifier and Type Field Description private int
currentObjNum
private ByteBuffer
index
private int
numObj
private static int
OBJSINSTREAM
private int
position
the current byteposition in the body.private int
refnum
private ByteBuffer
streamObjects
private PdfWriter
writer
private java.util.TreeSet
xrefs
array containing the cross-reference table of the normal objects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) PdfIndirectObject
add(PdfObject object)
Adds aPdfObject
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 aPdfObject
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 thisBody
.(package private) void
writeCrossReferenceTable(java.io.OutputStream os, PdfIndirectReference root, PdfIndirectReference info, PdfIndirectReference encryption, PdfObject fileID, int prevxref)
Returns the CrossReferenceTable of theBody
.
-
-
-
Field Detail
-
xrefs
private java.util.TreeSet xrefs
array containing the cross-reference table of the normal objects.
-
refnum
private int refnum
-
position
private int position
the current byteposition in the body.
-
writer
private PdfWriter writer
-
OBJSINSTREAM
private static final int OBJSINSTREAM
- See Also:
- Constant Field Values
-
index
private ByteBuffer index
-
streamObjects
private ByteBuffer streamObjects
-
currentObjNum
private int currentObjNum
-
numObj
private int numObj
-
-
Constructor Detail
-
PdfBody
PdfBody(PdfWriter writer)
Constructs a newPdfBody
.- Parameters:
writer
-
-
-
Method Detail
-
setRefnum
void setRefnum(int refnum)
-
addToObjStm
private PdfWriter.PdfBody.PdfCrossReference addToObjStm(PdfObject obj, int nObj) throws java.io.IOException
- Throws:
java.io.IOException
-
flushObjStm
private void flushObjStm() throws java.io.IOException
- Throws:
java.io.IOException
-
add
PdfIndirectObject add(PdfObject object) throws java.io.IOException
Adds aPdfObject
to the body.This methods creates a
PdfIndirectObject
with a certain number, containing the givenPdfObject
. It also adds aPdfCrossReference
for this object to anArrayList
that will be used to build the Cross-reference Table.- Parameters:
object
- aPdfObject
- Returns:
- a
PdfIndirectObject
- Throws:
java.io.IOException
-
add
PdfIndirectObject add(PdfObject object, boolean inObjStm) throws java.io.IOException
- Throws:
java.io.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 java.io.IOException
Adds aPdfObject
to the body given an already existing PdfIndirectReference.This methods creates a
PdfIndirectObject
with the number given byref
, containing the givenPdfObject
. It also adds aPdfCrossReference
for this object to anArrayList
that will be used to build the Cross-reference Table.- Parameters:
object
- aPdfObject
ref
- aPdfIndirectReference
- Returns:
- a
PdfIndirectObject
- Throws:
java.io.IOException
-
add
PdfIndirectObject add(PdfObject object, PdfIndirectReference ref, boolean inObjStm) throws java.io.IOException
- Throws:
java.io.IOException
-
add
PdfIndirectObject add(PdfObject object, int refNumber) throws java.io.IOException
- Throws:
java.io.IOException
-
add
PdfIndirectObject add(PdfObject object, int refNumber, boolean inObjStm) throws java.io.IOException
- Throws:
java.io.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 thisBody
.- Returns:
- a number of objects
-
writeCrossReferenceTable
void writeCrossReferenceTable(java.io.OutputStream os, PdfIndirectReference root, PdfIndirectReference info, PdfIndirectReference encryption, PdfObject fileID, int prevxref) throws java.io.IOException
Returns the CrossReferenceTable of theBody
.- Parameters:
os
-root
-info
-encryption
-fileID
-prevxref
-- Throws:
java.io.IOException
-
-