Package com.itextpdf.text.pdf
Class PdfACopy
java.lang.Object
com.itextpdf.text.DocWriter
com.itextpdf.text.pdf.PdfWriter
com.itextpdf.text.pdf.PdfCopy
com.itextpdf.text.pdf.PdfACopy
- All Implemented Interfaces:
DocListener
,ElementListener
,PdfAnnotations
,PdfDocumentActions
,PdfEncryptionSettings
,PdfPageActions
,PdfRunDirection
,PdfVersion
,PdfViewerPreferences
,EventListener
- Direct Known Subclasses:
PdfASmartCopy
Extension of PdfCopy that will attempt to keep a file
in conformance with the PDF/A standard.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.PdfCopy
PdfCopy.ImportedPage, PdfCopy.IndirectReferences, PdfCopy.PageStamp, PdfCopy.StampContent
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
-
Field Summary
FieldsFields inherited from class com.itextpdf.text.pdf.PdfCopy
disableIndirects, fieldArray, fieldKeys, fields, fieldTemplates, importedPages, indirectMap, indirectObjects, indirects, mergeFields, namePtr, parentObjects, reader, savedObjects, structTreeRootReference, updateRootKids, widgetKeys
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, ENCRYPTION_MASK, 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
-
Constructor Summary
ConstructorsConstructorDescriptionPdfACopy
(Document document, OutputStream os, PdfAConformanceLevel conformanceLevel) Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDocument
(PdfReader reader) void
addPage
(PdfImportedPage iPage) Add an imported page to our outputprotected void
cacheObject
(PdfIndirectObject iobj) Use this method for caching objects.private void
checkPdfAInfo
(PdfReader reader) void
close()
Signals that theDocument
was closed and that no otherElements
will be added.createPageStamp
(PdfImportedPage iPage) Create a page stamp.protected XmpWriter
createXmpWriter
(ByteArrayOutputStream baos, PdfDictionary info) protected XmpWriter
createXmpWriter
(ByteArrayOutputStream baos, HashMap<String, String> info) protected Counter
private PdfAChecker
protected TtfUnicodeWriter
protected PdfIsoConformance
boolean
setOutputIntents
(PdfReader reader, boolean checkExistence) Copies the output intent dictionary from other document to this one.void
setOutputIntents
(String outputConditionIdentifier, String outputCondition, String registryName, String info, ICC_Profile colorProfile) Sets the values of the output intent dictionary.Methods inherited from class com.itextpdf.text.pdf.PdfCopy
add, add, addAnnotation, addDocument, addPage, addToBody, addToBody, copyArray, copyArray, copyDictionary, copyDictionary, copyDocumentFields, copyIndirect, copyIndirect, copyObject, copyObject, copyStream, fixStructureTreeRoot, fixTaggedStructure, flushAcroFields, flushIndirectObjects, flushTaggedObjects, freeReader, getCatalog, getFlags, getImportedPage, getImportedPage, getImportedPageImpl, getOffStateName, isCheckButton, isRadioButton, isRotateContents, isStructTreeRootReference, isTextField, setFromIPage, setFromReader, setMergeFields, setPageEvent, setRotateContents, structureTreeRootKidsForReaderImported
Methods inherited from class com.itextpdf.text.pdf.PdfWriter
add, add, addAnnotation, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addDirectTemplateSimple, addFileAttachment, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addLocalDestinations, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addPageDictEntry, addSharedObjectsToBody, addSimple, addSimple, addSimpleExtGState, addSimplePattern, addSimplePatternColorspace, addSimpleProperty, addSimpleShading, addSimpleShadingPattern, addToBody, addToBody, addToBody, addToBody, addViewerPreference, addXFormsToBody, buildStructTreeRootForTagged, checkElementRole, checkPdfIsoConformance, checkPdfIsoConformance, clearTextWrap, createAnnotation, createAnnotation, createAnnotation, createXmpMetadata, eliminateFontSubset, fillOCProperties, getAcroForm, getBoxSize, getBoxSize, getColorProfile, getColorspaceName, getCompressionLevel, getCurrentDocumentSize, getCurrentPage, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getEncryption, getExtraCatalog, getGroup, getImageReference, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getNameString, getNewObjectNumber, getOCProperties, getOs, getPageDictEntries, getPageEvent, getPageNumber, getPageReference, getPageSize, getPdfDocument, getPdfIndirectReference, getPdfReaderInstance, getPdfVersion, getPDFXConformance, getReaderFile, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStandardStructElems, getStructureTreeRoot, getTabs, getVerticalPosition, getXmpWriter, isFullCompression, isPageEmpty, isPdfIso, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, needToBeMarkedInContent, open, propertyExists, registerLayer, releaseTemplate, reorderPages, resetContent, resetPageDictEntries, setAdditionalAction, setAtLeastPdfVersion, setBoxSize, setCollection, setCompressionLevel, setCropBoxSize, setDefaultColorspace, setDuration, setEncryption, setEncryption, setEncryption, setEncryption, setEncryption, setFullCompression, setGroup, setInitialLeading, setLanguage, setLinearPageMode, setOpenAction, setOpenAction, setOutlines, setOutputIntents, setPageAction, setPageEmpty, setPageLabels, setPageViewport, setPageXmpMetadata, setPdfVersion, setPdfVersion, setPDFXConformance, setRgbTransparencyBlending, setRunDirection, setSigFlags, setSpaceCharRatio, setStrictImageSequence, setTabs, setTagged, setTagged, setThumbnail, setTransition, setUserProperties, setUserunit, setViewerPreferences, setXmpMetadata, useExternalCacheForTagStructure, 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
-
Field Details
-
COUNTER
-
-
Constructor Details
-
PdfACopy
public PdfACopy(Document document, OutputStream os, PdfAConformanceLevel conformanceLevel) throws DocumentException Constructor- Parameters:
document
- documentos
- outputstream- Throws:
DocumentException
-
-
Method Details
-
getCounter
- Overrides:
getCounter
in classPdfCopy
-
initPdfIsoConformance
- Overrides:
initPdfIsoConformance
in classPdfWriter
-
cacheObject
Description copied from class:PdfWriter
Use this method for caching objects.- Overrides:
cacheObject
in classPdfCopy
- Parameters:
iobj
- @see PdfIndirectObject
-
getPdfAChecker
-
addDocument
- Overrides:
addDocument
in classPdfCopy
- Throws:
DocumentException
IOException
-
addPage
Description copied from class:PdfCopy
Add an imported page to our output- Overrides:
addPage
in classPdfCopy
- Parameters:
iPage
- an imported page- Throws:
IOException
BadPdfFormatException
-
createPageStamp
Description copied from class:PdfCopy
Create a page stamp. New content and annotations, including new fields, are allowed. The fields added cannot have parents in another pages. This method modifies the PdfReader instance.The general usage to stamp something in a page is:
PdfImportedPage page = copy.getImportedPage(reader, 1); PdfCopy.PageStamp ps = copy.createPageStamp(page); ps.addAnnotation(PdfAnnotation.createText(copy, new Rectangle(50, 180, 70, 200), "Hello", "No Thanks", true, "Comment")); PdfContentByte under = ps.getUnderContent(); under.addImage(img); PdfContentByte over = ps.getOverContent(); over.beginText(); over.setFontAndSize(bf, 18); over.setTextMatrix(30, 30); over.showText("total page " + totalPage); over.endText(); ps.alterContents(); copy.addPage(page);
- Overrides:
createPageStamp
in classPdfCopy
- Parameters:
iPage
- an imported page- Returns:
- the
PageStamp
-
setOutputIntents
public void setOutputIntents(String outputConditionIdentifier, String outputCondition, String registryName, String info, ICC_Profile colorProfile) throws IOException Description copied from class:PdfWriter
Sets the values of the output intent dictionary. Null values are allowed to suppress any key.- Overrides:
setOutputIntents
in classPdfWriter
- Parameters:
outputConditionIdentifier
- a valueoutputCondition
- a valueregistryName
- a valueinfo
- a valuecolorProfile
- a value- Throws:
IOException
- on error
-
setOutputIntents
Copies the output intent dictionary from other document to this one.- Overrides:
setOutputIntents
in classPdfWriter
- Parameters:
reader
- the other documentcheckExistence
-true
to just check for the existence of a valid output intent dictionary,false
to insert the dictionary if it exists- Returns:
true
if the output intent dictionary exists,false
otherwise- Throws:
IOException
- on error
-
createXmpWriter
protected XmpWriter createXmpWriter(ByteArrayOutputStream baos, PdfDictionary info) throws IOException - Overrides:
createXmpWriter
in classPdfWriter
- Throws:
IOException
-
createXmpWriter
protected XmpWriter createXmpWriter(ByteArrayOutputStream baos, HashMap<String, String> info) throws IOException- Overrides:
createXmpWriter
in classPdfWriter
- Throws:
IOException
-
getTtfUnicodeWriter
- Overrides:
getTtfUnicodeWriter
in classPdfWriter
- See Also:
-
close
public void close()Description copied from class:PdfCopy
Signals that theDocument
was closed and that no otherElements
will be added.The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the reference table is composed and everything is written to the outputstream embedded in a Trailer.
- Specified by:
close
in interfaceDocListener
- Overrides:
close
in classPdfCopy
- See Also:
-
checkPdfAInfo
-