Package org.apache.pdfbox.pdfparser
Class PDFXRefStream
- java.lang.Object
-
- org.apache.pdfbox.pdfparser.PDFXRefStream
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
PDFXRefStream.FreeReference
A class representing a free reference.(package private) static class
PDFXRefStream.NormalReference
A class representing a normal reference.(package private) static class
PDFXRefStream.ObjectStreamReference
A class representing an object stream reference.
-
Field Summary
Fields Modifier and Type Field Description private static int
ENTRY_FREE
private static int
ENTRY_NORMAL
private static int
ENTRY_OBJSTREAM
private java.util.Set<java.lang.Long>
objectNumbers
private long
size
private COSStream
stream
private java.util.Map<java.lang.Long,java.lang.Object>
streamData
-
Constructor Summary
Constructors Constructor Description PDFXRefStream()
Deprecated.PDFXRefStream(COSDocument cosDocument)
Create a fresh XRef stream like for a fresh file or an incremental update.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEntry(COSWriterXRefEntry entry)
Add an new entry to the XRef stream.void
addTrailerInfo(COSDictionary trailerDict)
Copy all Trailer Information to this file.private java.util.List<java.lang.Long>
getIndexEntry()
COSObject
getObject(int objectNumber)
Returns the object referenced by the given object number.COSStream
getStream()
Returns the stream of the XRef.private int[]
getWEntry()
determines the minimal length required for all the lengths.void
setSize(long streamSize)
Set the size of the XRef stream.private void
writeNumber(java.io.OutputStream os, long number, int bytes)
private void
writeStreamData(java.io.OutputStream os, int[] w)
-
-
-
Field Detail
-
ENTRY_OBJSTREAM
private static final int ENTRY_OBJSTREAM
- See Also:
- Constant Field Values
-
ENTRY_NORMAL
private static final int ENTRY_NORMAL
- See Also:
- Constant Field Values
-
ENTRY_FREE
private static final int ENTRY_FREE
- See Also:
- Constant Field Values
-
streamData
private final java.util.Map<java.lang.Long,java.lang.Object> streamData
-
objectNumbers
private final java.util.Set<java.lang.Long> objectNumbers
-
stream
private final COSStream stream
-
size
private long size
-
-
Constructor Detail
-
PDFXRefStream
@Deprecated public PDFXRefStream()
Deprecated.Create a fresh XRef stream like for a fresh file or an incremental update.
-
PDFXRefStream
public PDFXRefStream(COSDocument cosDocument)
Create a fresh XRef stream like for a fresh file or an incremental update.- Parameters:
cosDocument
-
-
-
Method Detail
-
getStream
public COSStream getStream() throws java.io.IOException
Returns the stream of the XRef.- Returns:
- the XRef stream
- Throws:
java.io.IOException
- if something went wrong
-
addTrailerInfo
public void addTrailerInfo(COSDictionary trailerDict)
Copy all Trailer Information to this file.- Parameters:
trailerDict
- dictionary to be added as trailer info
-
addEntry
public void addEntry(COSWriterXRefEntry entry)
Add an new entry to the XRef stream.- Parameters:
entry
- new entry to be added
-
getWEntry
private int[] getWEntry()
determines the minimal length required for all the lengths.- Returns:
- the length information
-
setSize
public void setSize(long streamSize)
Set the size of the XRef stream.- Parameters:
streamSize
- size to bet set as stream size
-
getIndexEntry
private java.util.List<java.lang.Long> getIndexEntry()
-
writeNumber
private void writeNumber(java.io.OutputStream os, long number, int bytes) throws java.io.IOException
- Throws:
java.io.IOException
-
writeStreamData
private void writeStreamData(java.io.OutputStream os, int[] w) throws java.io.IOException
- Throws:
java.io.IOException
-
-