Cómo trabajar con el modelo de objetos COS en Java
Acceso al Catálogo de Documentos
El catálogo PDF es la raíz del árbol de objeto del documento y se representa como un COSDictionary.Acceso a través de Document.getCatalog() para inspeccionar o modificar el nivel de documento Propiedades :
try (Document doc = new Document("input.pdf")) {
COSDictionary catalog = doc.getCatalog();
// Inspect catalog entries
}Trabajar con COSDictionary
COSDictionary es el contenedor de valor clave fundamental en el modelo PDF COS. COSName.of() para crear claves de nombre y almacenar valores de cualquier tipo de COS:
COSDictionary dict = new COSDictionary();
dict.set(COSName.of("Title"), new COSString("My Document"));
COSString title = (COSString) dict.get(COSName.of("Title"));
System.out.println(title.getString());Trabajando con COSArray
COSArray es el tipo de secuencia ordenado en el modelo COS. Los elementos son indexados con cero y puede mantener cualquier mezcla de tipos de objetos COS. retire valores y lanzar a los correspondientes Tipo de COS:
COSArray array = new COSArray();
array.add(COSInteger.valueOf(100));
array.add(COSInteger.valueOf(200));
array.add(COSInteger.valueOf(300));
System.out.println("Array length: " + array.size());
int first = ((COSInteger) array.get(0)).intValue(); // 100Acceso al Dicionario de Trailer
El dicionario de trailer PDF contiene la ubicación y referencias de la tabla de referencia cruzada El catálogo de documentos (/RootEl dicionario de información (/Info):
try (Document doc = new Document("input.pdf")) {
COSDictionary trailer = doc.getTrailer();
// Trailer contains /Root, /Info, /Encrypt entries
}Nombre de árboles
La capa COS expresa la estructura de árbol nombre PDF utilizada para las árbores números como: El árbol de la madre para los elementos estructurales. COSDictionary y COSArray Se utilizan Para cruzar el Nums en el número de nódulos árboles. este es el nivel más bajo API para trabajar con la estructura lógica de un documento PDF etiquetado.