Class OcgPropertiesCopier
java.lang.Object
com.itextpdf.kernel.pdf.OcgPropertiesCopier
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidattemptToAddObjectToArray(Set<PdfIndirectReference> fromOcgsToCopy, PdfObject fromObj, PdfArray toArray, PdfDocument toDocument) private static voidcopyDArrayField(PdfName fieldToCopy, Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDict, PdfDictionary toDict, PdfDocument toDocument) private static voidcopyDDictionary(Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDDict, PdfDictionary toOcProperties, PdfDocument toDocument) private static voidcopyDNameField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict) private static voidcopyDStringField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict) static voidcopyOCGProperties(PdfDocument sourceDocument, PdfDocument destinationDocument, Map<PdfPage, PdfPage> sourceToDestPageMapping) Copy unique page OCGs stored inside annotations/xobjects/resources from source pages to destination pages.private static voidcopyOCGs(Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary toOcProperties, PdfDocument toDocument) private static Set<PdfIndirectReference> getAllUsedNonFlushedOCGs(Map<PdfPage, PdfPage> page2page, PdfDictionary toOcProperties) (package private) static Set<PdfIndirectReference> getOCGsFromPage(PdfPage page) Get all OCGs from a given page annotations/xobjects/resources, including ones already stored in catalogprivate static voidgetUsedNonFlushedOCGsFromAnnotation(PdfAnnotation toAnnot, PdfAnnotation fromAnnot, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties) private static voidgetUsedNonFlushedOCGsFromOcDict(PdfObject toObj, PdfObject fromObj, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties) private static voidgetUsedNonFlushedOCGsFromResources(PdfDictionary toResources, PdfDictionary fromResources, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, Set<PdfObject> visitedObjects) private static voidgetUsedNonFlushedOCGsFromXObject(PdfDictionary toXObject, PdfDictionary fromXObject, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, Set<PdfObject> visitedObjects) private static booleanocgAlreadyInOCGs(PdfIndirectReference toOcgRef, PdfDictionary toOcProperties) private static booleanorderBranchContainsSetElements(PdfObject arrayObj, PdfArray array, int currentIndex, Set<PdfIndirectReference> ocgs, PdfArray toOcgs, PdfDocument toDocument)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
-
Constructor Details
-
OcgPropertiesCopier
private OcgPropertiesCopier()
-
-
Method Details
-
copyOCGProperties
public static void copyOCGProperties(PdfDocument sourceDocument, PdfDocument destinationDocument, Map<PdfPage, PdfPage> sourceToDestPageMapping) Copy unique page OCGs stored inside annotations/xobjects/resources from source pages to destination pages.- Parameters:
sourceDocument- document from which OCGs should be copieddestinationDocument- document to which OCGs should be copiedsourceToDestPageMapping- page mapping, linking source pages to destination ones
-
getOCGsFromPage
Get all OCGs from a given page annotations/xobjects/resources, including ones already stored in catalog- Parameters:
page- where to search for OCGs.- Returns:
- set of indirect references pointing to found OCGs.
-
getAllUsedNonFlushedOCGs
private static Set<PdfIndirectReference> getAllUsedNonFlushedOCGs(Map<PdfPage, PdfPage> page2page, PdfDictionary toOcProperties) -
getUsedNonFlushedOCGsFromAnnotation
private static void getUsedNonFlushedOCGsFromAnnotation(PdfAnnotation toAnnot, PdfAnnotation fromAnnot, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties) -
getUsedNonFlushedOCGsFromResources
private static void getUsedNonFlushedOCGsFromResources(PdfDictionary toResources, PdfDictionary fromResources, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, Set<PdfObject> visitedObjects) -
getUsedNonFlushedOCGsFromXObject
private static void getUsedNonFlushedOCGsFromXObject(PdfDictionary toXObject, PdfDictionary fromXObject, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, Set<PdfObject> visitedObjects) -
getUsedNonFlushedOCGsFromOcDict
private static void getUsedNonFlushedOCGsFromOcDict(PdfObject toObj, PdfObject fromObj, Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties) -
copyOCGs
private static void copyOCGs(Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary toOcProperties, PdfDocument toDocument) -
ocgAlreadyInOCGs
private static boolean ocgAlreadyInOCGs(PdfIndirectReference toOcgRef, PdfDictionary toOcProperties) -
copyDDictionary
private static void copyDDictionary(Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDDict, PdfDictionary toOcProperties, PdfDocument toDocument) -
attemptToAddObjectToArray
private static void attemptToAddObjectToArray(Set<PdfIndirectReference> fromOcgsToCopy, PdfObject fromObj, PdfArray toArray, PdfDocument toDocument) -
copyDNameField
private static void copyDNameField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict) -
copyDStringField
private static void copyDStringField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict) -
copyDArrayField
private static void copyDArrayField(PdfName fieldToCopy, Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDict, PdfDictionary toDict, PdfDocument toDocument) -
orderBranchContainsSetElements
private static boolean orderBranchContainsSetElements(PdfObject arrayObj, PdfArray array, int currentIndex, Set<PdfIndirectReference> ocgs, PdfArray toOcgs, PdfDocument toDocument)
-