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.Logger
LOGGER
-
Constructor Summary
Constructors Modifier Constructor Description private
OcgPropertiesCopier()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
attemptToAddObjectToArray(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfObject fromObj, PdfArray toArray, PdfDocument toDocument)
private static void
copyDArrayField(PdfName fieldToCopy, java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDict, PdfDictionary toDict, PdfDocument toDocument)
private static void
copyDDictionary(java.util.Set<PdfIndirectReference> fromOcgsToCopy, PdfDictionary fromDDict, PdfDictionary toOcProperties, PdfDocument toDocument)
private static void
copyDNameField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict)
private static void
copyDStringField(PdfName fieldToCopy, PdfDictionary fromDict, PdfDictionary toDict)
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.private static void
copyOCGs(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 void
getUsedNonFlushedOCGsFromAnnotation(PdfAnnotation toAnnot, PdfAnnotation fromAnnot, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)
private static void
getUsedNonFlushedOCGsFromOcDict(PdfObject toObj, PdfObject fromObj, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties)
private static void
getUsedNonFlushedOCGsFromResources(PdfDictionary toResources, PdfDictionary fromResources, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)
private static void
getUsedNonFlushedOCGsFromXObject(PdfDictionary toXObject, PdfDictionary fromXObject, java.util.Set<PdfIndirectReference> fromUsedOcgs, PdfDictionary toOcProperties, java.util.Set<PdfObject> visitedObjects)
private static boolean
ocgAlreadyInOCGs(PdfIndirectReference toOcgRef, PdfDictionary toOcProperties)
private static boolean
orderBranchContainsSetElements(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)
-
-