Como trabalhar com o modelo de objeto COS em Java?
Acesse o Catálogo de Documentos
O catálogo PDF é a raiz da árvore de objetos do documento e é representado como um COSDictionary.Acessá-lo através de: Document.getCatalog() para inspecionar ou modificar documentos a nível nacional; propriedades:
try (Document doc = new Document("input.pdf")) {
COSDictionary catalog = doc.getCatalog();
// Inspect catalog entries
}Trabalhar com o COSDictionary
COSDictionary é o contêiner de valor-chave fundamental no modelo PDF COS. Use COSName.of() Para criar chaves de nome e armazenar valores de qualquer tipo 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());Trabalho com o COSArray
COSArray é o tipo de sequência ordenada no modelo COS. Os elementos são indexados a zero e pode conter qualquer combinação de tipos de objeto COS. Recuperar valores e lançar para o adequado 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(); // 100Acesse o Dicionário do Trailer
O dicionário do trailer PDF contém a localização da tabela de referência cruzada e as referências. ao catálogo de documentos (/Root) e dicionário de informação sobre documentos (/Info):
try (Document doc = new Document("input.pdf")) {
COSDictionary trailer = doc.getTrailer();
// Trailer contains /Root, /Info, /Encrypt entries
}Árvore de Números Nomeada
A camada COS expõe a estrutura da árvore de nomes PDF usada para árvores numéricas, como: A árvore-mãe para elementos de estrutura. COSDictionary e a) COSArray são utilizados para atravessar o Nums Este é o nível mais baixo de um arquivo. API para trabalhar com a estrutura lógica de um documento PDF marcado.