com.itextpdf.text.pdf
Class PdfAWriter

java.lang.Object
  extended by com.itextpdf.text.DocWriter
      extended by com.itextpdf.text.pdf.PdfWriter
          extended by com.itextpdf.text.pdf.PdfAWriter
All Implemented Interfaces:
DocListener, ElementListener, PdfAnnotations, PdfDocumentActions, PdfEncryptionSettings, PdfPageActions, PdfRunDirection, PdfVersion, PdfViewerPreferences, EventListener

public class PdfAWriter
extends PdfWriter

Extension of PdfWriter that will attempt to create a PDF/A file instead of an ordinary PDF file.

See Also:
PdfWriter

Nested Class Summary
 
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
 
Field Summary
protected  Counter COUNTER
           
static String MimeTypeOctetStream
           
static String MimeTypePdf
           
 
Fields inherited from class com.itextpdf.text.pdf.PdfWriter
ALLOW_ASSEMBLY, ALLOW_COPY, ALLOW_DEGRADED_PRINTING, ALLOW_FILL_IN, ALLOW_MODIFY_ANNOTATIONS, ALLOW_MODIFY_CONTENTS, ALLOW_PRINTING, ALLOW_SCREENREADERS, AllowAssembly, AllowCopy, AllowDegradedPrinting, AllowFillIn, AllowModifyAnnotations, AllowModifyContents, AllowPrinting, AllowScreenReaders, body, CenterWindow, colorNumber, colorProfile, compressionLevel, crypto, currentPageNumber, currentPdfReaderInstance, defaultColorspace, DID_PRINT, DID_SAVE, directContent, directContentUnder, DirectionL2R, DirectionR2L, DisplayDocTitle, DO_NOT_ENCRYPT_METADATA, DOCUMENT_CLOSE, documentColors, documentExtGState, documentFonts, documentOCG, documentOCGorder, documentPatterns, documentProperties, documentShadingPatterns, documentShadings, documentSpotPatterns, EMBEDDED_FILES_ONLY, ENCRYPTION_AES_128, ENCRYPTION_AES_256, extraCatalog, FitWindow, fontNumber, formXObjects, formXObjectsCounter, fullCompression, GENERATION_MAX, group, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, JBIG2Globals, markAll, markInlineElementsOnly, newBookmarks, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOC, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, OCGLocked, OCGRadioGroup, OCProperties, originalFileID, PAGE_CLOSE, PAGE_OPEN, pageDictEntries, PageLayoutOneColumn, PageLayoutSinglePage, PageLayoutTwoColumnLeft, PageLayoutTwoColumnRight, PageLayoutTwoPageLeft, PageLayoutTwoPageRight, PageModeFullScreen, PageModeUseAttachments, PageModeUseNone, PageModeUseOC, PageModeUseOutlines, PageModeUseThumbs, pageReferences, patternColorspaceCMYK, patternColorspaceGRAY, patternColorspaceRGB, patternNumber, pdf, pdf_version, PDF_VERSION_1_2, PDF_VERSION_1_3, PDF_VERSION_1_4, PDF_VERSION_1_5, PDF_VERSION_1_6, PDF_VERSION_1_7, pdfIsoConformance, PDFX1A2001, PDFX32002, PDFXNONE, prevxref, PrintScalingNone, readerInstances, root, RUN_DIRECTION_DEFAULT, RUN_DIRECTION_LTR, RUN_DIRECTION_NO_BIDI, RUN_DIRECTION_RTL, runDirection, SIGNATURE_APPEND_ONLY, SIGNATURE_EXISTS, SPACE_CHAR_RATIO_DEFAULT, STANDARD_ENCRYPTION_128, STANDARD_ENCRYPTION_40, STRENGTH128BITS, STRENGTH40BITS, structureTreeRoot, tabs, tagged, taggingMode, ttfUnicodeWriter, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, WILL_PRINT, WILL_SAVE, xmpMetadata, xmpWriter
 
Fields inherited from class com.itextpdf.text.DocWriter
closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TAB
 
Constructor Summary
protected PdfAWriter(PdfAConformanceLevel conformanceLevel)
           
protected PdfAWriter(PdfDocument document, OutputStream os, PdfAConformanceLevel conformanceLevel)
          Constructs a PdfAWriter.
 
Method Summary
 void addFileAttachment(String description, byte[] fileStore, String file, String fileDisplay)
          Use this method to add a file attachment at the document level.
 void addFileAttachment(String description, byte[] fileStore, String file, String fileDisplay, PdfName afRelationshipValue)
          Use this method to add a file attachment at the document level.
 PdfFileSpecification addFileAttachment(String description, byte[] fileStore, String file, String fileDisplay, String mimeType, PdfName afRelationshipValue)
          Use this method to add a file attachment at the document level.
 PdfFileSpecification addFileAttachment(String description, byte[] fileStore, String file, String fileDisplay, String mimeType, PdfName afRelationshipValue, PdfDictionary fileParameter)
          Use this method to add a file attachment at the document level.
 void addPdfAttachment(String description, byte[] fileStore, String file, String fileDisplay)
          Use this method to add a file attachment at the document level.
 void addPdfAttachment(String description, byte[] fileStore, String file, String fileDisplay, PdfName afRelationshipValue)
          Use this method to add a file attachment at the document level.
protected  void cacheObject(PdfIndirectObject iobj)
           
 void close()
           
protected  XmpWriter createXmpWriter(ByteArrayOutputStream baos, HashMap<String,String> info)
           
protected  XmpWriter createXmpWriter(ByteArrayOutputStream baos, PdfDictionary info)
           
protected  Counter getCounter()
           
static PdfAWriter getInstance(Document document, OutputStream os, DocListener listener, PdfAConformanceLevel conformanceLevel)
          Use this method to get an instance of the PdfWriter.
static PdfAWriter getInstance(Document document, OutputStream os, PdfAConformanceLevel conformanceLevel)
          Use this method to get an instance of the PdfWriter.
protected  TtfUnicodeWriter getTtfUnicodeWriter()
           
protected  PdfIsoConformance initPdfIsoConformance()
           
 void setOutputIntents(String outputConditionIdentifier, String outputCondition, String registryName, String info, ICC_Profile colorProfile)
           
static void setPdfVersion(PdfWriter writer, PdfAConformanceLevel conformanceLevel)
          Sets the Confomance level.
 void setPDFXConformance(int pdfx)
          Always throws an exception since PDF/X conformance level cannot be set for PDF/A conformant documents.
 
Methods inherited from class com.itextpdf.text.pdf.PdfWriter
add, addAnnotation, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addPageDictEntry, addSharedObjectsToBody, addToBody, addToBody, addToBody, addToBody, addToBody, addToBody, addViewerPreference, addXFormsToBody, buildStructTreeRootForTagged, checkElementRole, checkPdfIsoConformance, checkPdfIsoConformance, clearTextWrap, createXmpMetadata, fillOCProperties, flushAcroFields, flushTaggedObjects, freeReader, getAcroForm, getBoxSize, getBoxSize, getCatalog, getColorProfile, getCompressionLevel, getCurrentDocumentSize, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getExtraCatalog, getGroup, getImportedPage, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getNewObjectNumber, getOCProperties, getOs, getPageDictEntries, getPageEvent, getPageNumber, getPageReference, getPageSize, getPdfIndirectReference, getPdfReaderInstance, getPDFXConformance, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStandardStructElems, getStructureTreeRoot, getTabs, getVerticalPosition, getXmpWriter, isFullCompression, isPageEmpty, isPdfIso, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, needToBeMarkedInContent, open, releaseTemplate, reorderPages, resetPageDictEntries, setAdditionalAction, setAtLeastPdfVersion, setBoxSize, setCollection, setCompressionLevel, setCropBoxSize, setDefaultColorspace, setDuration, setEncryption, setEncryption, setEncryption, setEncryption, setEncryption, setFullCompression, setGroup, setInitialLeading, setLanguage, setLinearPageMode, setOpenAction, setOpenAction, setOutlines, setOutputIntents, setOutputIntents, setPageAction, setPageEmpty, setPageEvent, setPageLabels, setPageViewport, setPageXmpMetadata, setPdfVersion, setPdfVersion, setRgbTransparencyBlending, setRunDirection, setSigFlags, setSpaceCharRatio, setStrictImageSequence, setTabs, setTagged, setTagged, setThumbnail, setTransition, setUserProperties, setUserunit, setViewerPreferences, setXmpMetadata, writeKeyInfo, writeOutlines
 
Methods inherited from class com.itextpdf.text.DocWriter
add, addTabs, flush, getISOBytes, isCloseStream, isPaused, newPage, pause, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MimeTypePdf

public static String MimeTypePdf

MimeTypeOctetStream

public static String MimeTypeOctetStream

COUNTER

protected Counter COUNTER
Constructor Detail

PdfAWriter

protected PdfAWriter(PdfAConformanceLevel conformanceLevel)
Parameters:
conformanceLevel - PDF/A conformance level of a new PDF document

PdfAWriter

protected PdfAWriter(PdfDocument document,
                     OutputStream os,
                     PdfAConformanceLevel conformanceLevel)
Constructs a PdfAWriter.

Remark: a PdfAWriter can only be constructed by calling the method getInstance(Document document, OutputStream os, PdfAconformanceLevel conformanceLevel).

Parameters:
document - the PdfDocument that has to be written
os - the OutputStream the writer has to write to
conformanceLevel - PDF/A conformance level of a new PDF document
Method Detail

getInstance

public static PdfAWriter getInstance(Document document,
                                     OutputStream os,
                                     PdfAConformanceLevel conformanceLevel)
                              throws DocumentException
Use this method to get an instance of the PdfWriter.

Parameters:
document - The Document that has to be written
os - The OutputStream the writer has to write to.
conformanceLevel - PDF/A conformance level of a new PDF document
Returns:
a new PdfWriter
Throws:
DocumentException - on error

getInstance

public static PdfAWriter getInstance(Document document,
                                     OutputStream os,
                                     DocListener listener,
                                     PdfAConformanceLevel conformanceLevel)
                              throws DocumentException
Use this method to get an instance of the PdfWriter.

Parameters:
document - The Document that has to be written
os - The OutputStream the writer has to write to.
listener - A DocListener to pass to the PdfDocument.
conformanceLevel - PDF/A conformance level of a new PDF document
Returns:
a new PdfWriter
Throws:
DocumentException - on error

setPdfVersion

public static void setPdfVersion(PdfWriter writer,
                                 PdfAConformanceLevel conformanceLevel)
Sets the Confomance level.

Parameters:
writer -
conformanceLevel -

setOutputIntents

public void setOutputIntents(String outputConditionIdentifier,
                             String outputCondition,
                             String registryName,
                             String info,
                             ICC_Profile colorProfile)
                      throws IOException
Overrides:
setOutputIntents in class PdfWriter
Throws:
IOException
See Also:
PdfWriter#setOutputIntents(String, String, String, String, ICC_Profile)

setPDFXConformance

public void setPDFXConformance(int pdfx)
Always throws an exception since PDF/X conformance level cannot be set for PDF/A conformant documents.

Overrides:
setPDFXConformance in class PdfWriter
Parameters:
pdfx -

getTtfUnicodeWriter

protected TtfUnicodeWriter getTtfUnicodeWriter()
Overrides:
getTtfUnicodeWriter in class PdfWriter
See Also:
PdfWriter.getTtfUnicodeWriter()

createXmpWriter

protected XmpWriter createXmpWriter(ByteArrayOutputStream baos,
                                    PdfDictionary info)
                             throws IOException
Overrides:
createXmpWriter in class PdfWriter
Throws:
IOException
See Also:
PdfWriter#createXmpWriter(java.io.ByteArrayOutputStream, com.itextpdf.text.pdf.PdfDictionary)

createXmpWriter

protected XmpWriter createXmpWriter(ByteArrayOutputStream baos,
                                    HashMap<String,String> info)
                             throws IOException
Overrides:
createXmpWriter in class PdfWriter
Throws:
IOException

initPdfIsoConformance

protected PdfIsoConformance initPdfIsoConformance()
Overrides:
initPdfIsoConformance in class PdfWriter
See Also:
PdfWriter.initPdfIsoConformance()

getCounter

protected Counter getCounter()
Overrides:
getCounter in class PdfWriter

cacheObject

protected void cacheObject(PdfIndirectObject iobj)
Overrides:
cacheObject in class PdfWriter

addFileAttachment

public PdfFileSpecification addFileAttachment(String description,
                                              byte[] fileStore,
                                              String file,
                                              String fileDisplay,
                                              String mimeType,
                                              PdfName afRelationshipValue,
                                              PdfDictionary fileParameter)
                                       throws IOException
Use this method to add a file attachment at the document level.

Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
mimeType - mime type of the file
afRelationshipValue - AFRelationship key value, @see AFRelationshipValue. If null, @see AFRelationshipValue.Unspecified will be added.
fileParameter - the optional extra file parameters such as the creation or modification date
Returns:
the file specification
Throws:
IOException - on error

addFileAttachment

public PdfFileSpecification addFileAttachment(String description,
                                              byte[] fileStore,
                                              String file,
                                              String fileDisplay,
                                              String mimeType,
                                              PdfName afRelationshipValue)
                                       throws IOException
Use this method to add a file attachment at the document level.

Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
mimeType - mime type of the file
afRelationshipValue - AFRelationship key value, @see AFRelationshipValue. If null, @see AFRelationshipValue.Unspecified will be added.
Returns:
the file specification
Throws:
IOException - on error

addFileAttachment

public void addFileAttachment(String description,
                              byte[] fileStore,
                              String file,
                              String fileDisplay,
                              PdfName afRelationshipValue)
                       throws IOException
Use this method to add a file attachment at the document level. Adds @see MimeTypeOctetStream as mime type.

Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
afRelationshipValue - AFRelationship key value, @see AFRelationshipValue. If null, @see AFRelationshipValue.Unspecified will be added.
Throws:
IOException - on error

addFileAttachment

public void addFileAttachment(String description,
                              byte[] fileStore,
                              String file,
                              String fileDisplay)
                       throws IOException
Use this method to add a file attachment at the document level. Adds @see MimeTypeOctetStream as mime type and @see AFRelationshipValue.Unspecified as AFRelationship.

Overrides:
addFileAttachment in class PdfWriter
Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
Throws:
IOException - on error

addPdfAttachment

public void addPdfAttachment(String description,
                             byte[] fileStore,
                             String file,
                             String fileDisplay)
                      throws IOException
Use this method to add a file attachment at the document level. Adds @see MimeTypePdf as mime type and @see AFRelationshipValue.Unspecified as AFRelationship.

Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
Throws:
IOException - on error

addPdfAttachment

public void addPdfAttachment(String description,
                             byte[] fileStore,
                             String file,
                             String fileDisplay,
                             PdfName afRelationshipValue)
                      throws IOException
Use this method to add a file attachment at the document level. Adds @see MimeTypePdf as mime type.

Parameters:
description - the file description
fileStore - an array with the file. If it's null the file will be read from the disk
file - the path to the file. It will only be used if fileStore is not null
fileDisplay - the actual file name stored in the pdf
afRelationshipValue - AFRelationship key value, AFRelationshipValue. If null, @see AFRelationshipValue.Unspecified will be added.
Throws:
IOException - on error

close

public void close()
Specified by:
close in interface DocListener
Overrides:
close in class PdfWriter


Copyright © 2014. All Rights Reserved.