Package com.itextpdf.kernel.pdf
Class OcgPropertiesCopier
- java.lang.Object
-
- com.itextpdf.kernel.pdf.OcgPropertiesCopier
-
final class OcgPropertiesCopier extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.LoggerLOGGER
-
Constructor Summary
Constructors Modifier Constructor Description privateOcgPropertiesCopier()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidattemptToAddObjectToArray(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfObject fromObj, PdfArray toArray, PdfDocument toDocument)private static voidcopyDArrayField(PdfName fieldToCopy, java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDict, PdfDictionary toDict, PdfDocument toDocument)private static voidcopyDDictionary(java.util.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, java.util.Map<PdfPage,PdfPage> sourceToDestPageMapping)Copy unique page OCGs stored inside annotations/xobjects/resources from source pages to destination pages.private static voidcopyOCGs(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary toOcProperties, PdfDocument toDocument)private static java.util.Set<PdfIndirectReference>getAllUsedNonFlushedOCGs(java.util.Map<PdfPage,PdfPage> page2page, PdfDictionary toOcProperties)(package private) static java.util.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, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)private static voidgetUsedNonFlushedOCGsFromOcDict(PdfObject toObj, PdfObject fromObj, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)private static voidgetUsedNonFlushedOCGsFromResources(PdfDictionary toResources, PdfDictionary fromResources, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)private static voidgetUsedNonFlushedOCGsFromXObject(PdfDictionary toXObject, PdfDictionary fromXObject, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)private static booleanocgAlreadyInOCGs(PdfIndirectReference toOcgRef, PdfDictionary toOcProperties)private static booleanorderBranchContainsSetElements(PdfObject arrayObj, PdfArray array, int currentIndex, java.util.Set<PdfIndirectReference> ocgs, PdfArray toOcgs, PdfDocument toDocument)
-
-
-
Method Detail
-
copyOCGProperties
public static void copyOCGProperties(PdfDocument sourceDocument, PdfDocument destinationDocument, java.util.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
static java.util.Set<PdfIndirectReference> getOCGsFromPage(PdfPage page)
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 java.util.Set<PdfIndirectReference> getAllUsedNonFlushedOCGs(java.util.Map<PdfPage,PdfPage> page2page, PdfDictionary toOcProperties)
-
getUsedNonFlushedOCGsFromAnnotation
private static void getUsedNonFlushedOCGsFromAnnotation(PdfAnnotation toAnnot, PdfAnnotation fromAnnot, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)
-
getUsedNonFlushedOCGsFromResources
private static void getUsedNonFlushedOCGsFromResources(PdfDictionary toResources, PdfDictionary fromResources, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)
-
getUsedNonFlushedOCGsFromXObject
private static void getUsedNonFlushedOCGsFromXObject(PdfDictionary toXObject, PdfDictionary fromXObject, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)
-
getUsedNonFlushedOCGsFromOcDict
private static void getUsedNonFlushedOCGsFromOcDict(PdfObject toObj, PdfObject fromObj, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)
-
copyOCGs
private static void copyOCGs(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary toOcProperties, PdfDocument toDocument)
-
ocgAlreadyInOCGs
private static boolean ocgAlreadyInOCGs(PdfIndirectReference toOcgRef, PdfDictionary toOcProperties)
-
copyDDictionary
private static void copyDDictionary(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDDict, PdfDictionary toOcProperties, PdfDocument toDocument)
-
attemptToAddObjectToArray
private static void attemptToAddObjectToArray(java.util.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, java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDict, PdfDictionary toDict, PdfDocument toDocument)
-
orderBranchContainsSetElements
private static boolean orderBranchContainsSetElements(PdfObject arrayObj, PdfArray array, int currentIndex, java.util.Set<PdfIndirectReference> ocgs, PdfArray toOcgs, PdfDocument toDocument)
-
-