public class PDFDocument
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ENCODING
the encoding to use when converting strings to PDF commands
|
protected int |
objectcount
the counter for object numbering
|
Constructor and Description |
---|
PDFDocument(java.lang.String prod)
Creates an empty PDF document.
|
PDFDocument(java.lang.String prod,
VersionController versionController)
Creates an empty PDF document.
|
Modifier and Type | Method and Description |
---|---|
void |
addDestination(PDFDestination destination)
Adds a destination to the document.
|
PDFFormXObject |
addFormXObject(PDFResourceContext res,
PDFStream cont,
PDFReference formres,
java.lang.String key)
Add a form XObject to the PDF document.
|
PDFImageXObject |
addImage(PDFResourceContext res,
PDFImage img)
Add an image to the PDF document.
|
void |
addObject(PDFObject obj)
Adds a
PDFObject to this document. |
void |
addTrailerObject(PDFObject obj)
Add trailer object.
|
void |
applyEncryption(AbstractPDFStream stream)
Apply the encryption filter to a PDFStream if encryption is enabled.
|
void |
assignObjectNumber(PDFObject obj)
|
void |
enableAccessibility(boolean enableAccessibility) |
static byte[] |
encode(java.lang.String text)
Converts text to a byte array for writing to a PDF file.
|
protected PDFDestination |
findDestination(PDFDestination compare)
Finds a named destination.
|
protected PDFFileSpec |
findFileSpec(PDFFileSpec compare)
Finds a file spec.
|
protected PDFFont |
findFont(java.lang.String fontname)
Finds a font.
|
protected PDFFunction |
findFunction(PDFFunction compare)
Looks through the registered functions to see if one that is equal to
a reference object exists
|
protected PDFGoTo |
findGoTo(PDFGoTo compare)
Finds a goto.
|
protected PDFGoToRemote |
findGoToRemote(PDFGoToRemote compare)
Finds a goto remote.
|
protected PDFGState |
findGState(PDFGState wanted,
PDFGState current)
Looks for an existing GState to use
|
protected PDFLaunch |
findLaunch(PDFLaunch compare)
Finds a launch.
|
protected PDFLink |
findLink(PDFLink compare)
Finds a link.
|
protected PDFPattern |
findPattern(PDFPattern compare)
Find a previous pattern.
|
protected PDFShading |
findShading(PDFShading compare)
Looks through the registered shadings to see if one that is equal to
a reference object exists
|
static void |
flushTextBuffer(java.lang.StringBuilder textBuffer,
java.io.OutputStream out)
Flushes the given text buffer to an output stream with the right encoding and resets
the text buffer.
|
int |
getColorSpace()
Returns the color space.
|
java.util.List<PDFDestination> |
getDestinationList()
Gets the list of named destinations.
|
PDFEncryption |
getEncryption()
Returns the active Encryption object.
|
PDFFactory |
getFactory()
Returns the factory for PDF objects.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getFilterMap()
Returns the
PDFFilter s map used for filters in this document. |
java.util.Map<java.lang.String,PDFFont> |
getFontMap()
Returns the font map for this document.
|
PDFImageXObject |
getImage(java.lang.String key)
Deprecated.
Use getXObject instead (so forms are treated in the same way)
|
PDFInfo |
getInfo()
Get the
PDFInfo object for this document. |
PDFOutline |
getOutlineRoot()
Get the root Outlines object.
|
PDFPages |
getPages()
Returns the
PDFPages object associated with the root object. |
PDFDeviceColorSpace |
getPDFColorSpace()
Returns the PDF color space object.
|
Version |
getPDFVersion()
Returns the current PDF version.
|
java.lang.String |
getPDFVersionString() |
PDFProfile |
getProfile() |
PDFResources |
getResources()
Get the /Resources object for the document
|
PDFRoot |
getRoot()
Get the
PDFRoot object for this document. |
PDFXObject |
getXObject(java.lang.String key)
Get an XObject from the image map.
|
boolean |
hasDestinations()
Gets whether the document has named destinations.
|
boolean |
isEncryptionActive()
Indicates whether encryption is active for this PDF or not.
|
PDFStructTreeRoot |
makeStructTreeRoot(PDFParentTree parentTree)
Creates and returns a StructTreeRoot object.
|
PDFStructElem |
makeStructureElement(PDFName structureType,
PDFObject parent)
Creates and returns a structure element.
|
void |
output(java.io.OutputStream stream)
Writes out the entire document
|
void |
outputHeader(java.io.OutputStream stream)
Write the PDF header.
|
static int |
outputIndirectObject(PDFObject object,
java.io.OutputStream stream)
Outputs the given object, wrapped by obj/endobj, to the given stream.
|
void |
outputTrailer(java.io.OutputStream stream)
Write the trailer
|
PDFObject |
registerObject(PDFObject obj)
Registers a
PDFObject in this PDF document. |
protected java.io.InputStream |
resolveURI(java.lang.String uri)
Resolve a URI.
|
void |
setColorSpace(int theColorspace)
Set the color space.
|
void |
setCreationDate(java.util.Date date)
Sets the creation date of the document.
|
void |
setCreator(java.lang.String creator)
Sets the creator of the document.
|
void |
setEncryption(PDFEncryptionParams params)
Enables PDF encryption.
|
void |
setFilterMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> map)
Sets the filter map to use for filters in this document.
|
void |
setPDFVersion(Version version)
Sets the PDF version of this document.
|
void |
setProducer(java.lang.String producer)
Sets the producer of the document.
|
public static final java.lang.String ENCODING
protected int objectcount
public PDFDocument(java.lang.String prod)
prod
- the name of the producer of this pdf documentpublic PDFDocument(java.lang.String prod, VersionController versionController)
prod
- the name of the producer of this pdf documentversionController
- the version controller of this PDF documentpublic Version getPDFVersion()
public void setPDFVersion(Version version)
version
- the PDF versionjava.lang.IllegalStateException
- if the version of this PDF is not allowed to change.public java.lang.String getPDFVersionString()
public PDFProfile getProfile()
public PDFFactory getFactory()
PDFFactory
objectpublic static byte[] encode(java.lang.String text)
text
- text to convert/encodebyte
arraypublic static void flushTextBuffer(java.lang.StringBuilder textBuffer, java.io.OutputStream out) throws java.io.IOException
textBuffer
- the text bufferout
- the output stream to flush the text content tojava.io.IOException
- if an I/O error occurs while writing to the output streampublic void setProducer(java.lang.String producer)
producer
- string indicating application producing the PDFpublic void setCreationDate(java.util.Date date)
date
- Date to be stored as creation date in the PDF.public void setCreator(java.lang.String creator)
creator
- string indicating application creating the documentpublic void setFilterMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> map)
map
- the map of filter lists for each stream typepublic java.util.Map<java.lang.String,java.util.List<java.lang.String>> getFilterMap()
PDFFilter
s map used for filters in this document.public PDFPages getPages()
PDFPages
object associated with the root object.PDFPages
objectpublic PDFRoot getRoot()
PDFRoot
object for this document.PDFRoot
objectpublic PDFStructTreeRoot makeStructTreeRoot(PDFParentTree parentTree)
parentTree
- the value of the ParenTree entrypublic PDFStructElem makeStructureElement(PDFName structureType, PDFObject parent)
structureType
- the structure type of the new element (value for the
S entry)parent
- the parent of the new structure element in the structure
hierarchypublic PDFInfo getInfo()
PDFInfo
object for this document.PDFInfo
objectpublic PDFObject registerObject(PDFObject obj)
PDFObject
in this PDF document.
The object is assigned a new object number.public void assignObjectNumber(PDFObject obj)
obj
- PDFObject
to assign a number topublic void addObject(PDFObject obj)
PDFObject
to this document.
The object MUST have an object number assigned.obj
- PDFObject
to addpublic void addTrailerObject(PDFObject obj)
obj
- the PDF object to addpublic void applyEncryption(AbstractPDFStream stream)
stream
- PDFStream to encryptpublic void setEncryption(PDFEncryptionParams params)
params
- The encryption parameters for the pdf filepublic boolean isEncryptionActive()
public PDFEncryption getEncryption()
protected PDFFunction findFunction(PDFFunction compare)
compare
- reference objectprotected PDFShading findShading(PDFShading compare)
compare
- reference objectprotected PDFPattern findPattern(PDFPattern compare)
compare
- reference objectprotected PDFFont findFont(java.lang.String fontname)
fontname
- name of the fontprotected PDFDestination findDestination(PDFDestination compare)
compare
- reference object to use as search templateprotected PDFLink findLink(PDFLink compare)
compare
- reference object to use as search templateprotected PDFFileSpec findFileSpec(PDFFileSpec compare)
compare
- reference object to use as search templateprotected PDFGoToRemote findGoToRemote(PDFGoToRemote compare)
compare
- reference object to use as search templateprotected PDFGoTo findGoTo(PDFGoTo compare)
compare
- reference object to use as search templateprotected PDFLaunch findLaunch(PDFLaunch compare)
compare
- reference object to use as search templateprotected PDFGState findGState(PDFGState wanted, PDFGState current)
wanted
- requested featurescurrent
- currently active featurespublic PDFDeviceColorSpace getPDFColorSpace()
public int getColorSpace()
public void setColorSpace(int theColorspace)
theColorspace
- the new color spacepublic java.util.Map<java.lang.String,PDFFont> getFontMap()
protected java.io.InputStream resolveURI(java.lang.String uri) throws java.io.FileNotFoundException
uri
- the uri to resolvejava.io.FileNotFoundException
- if the URI could not be resolved@Deprecated public PDFImageXObject getImage(java.lang.String key)
key
- the image key to look forpublic PDFXObject getXObject(java.lang.String key)
key
- the XObject key to look forpublic void addDestination(PDFDestination destination)
destination
- the destination objectpublic java.util.List<PDFDestination> getDestinationList()
public boolean hasDestinations()
public PDFImageXObject addImage(PDFResourceContext res, PDFImage img)
PDFXObject
.res
- the PDF resource context to add to, may be nullimg
- the PDF image to addpublic PDFFormXObject addFormXObject(PDFResourceContext res, PDFStream cont, PDFReference formres, java.lang.String key)
PDFFormXObject
.res
- the PDF resource context to add to, may be nullcont
- the PDF Stream contents of the Form XObjectformres
- a reference to the PDF Resources for the Form XObject datakey
- the key for the objectpublic PDFOutline getOutlineRoot()
public PDFResources getResources()
public void enableAccessibility(boolean enableAccessibility)
public void output(java.io.OutputStream stream) throws java.io.IOException
stream
- the OutputStream to output the document tojava.io.IOException
- if there is an exception writing to the output streampublic static int outputIndirectObject(PDFObject object, java.io.OutputStream stream) throws java.io.IOException
object
- an indirect object, as described in Section 3.2.9 of the PDF 1.5
Reference.stream
- the stream to which the object must be outputjava.lang.IllegalArgumentException
- if the object is not an indirect objectjava.io.IOException
public void outputHeader(java.io.OutputStream stream) throws java.io.IOException
stream
- the OutputStream to write the header tojava.io.IOException
- if there is an exception writing to the output streampublic void outputTrailer(java.io.OutputStream stream) throws java.io.IOException
stream
- the OutputStream to write the trailer tojava.io.IOException
- if there is an exception writing to the output streamCopyright 1999-2012 The Apache Software Foundation. All Rights Reserved.