A camada de fachadas em Aspose. PDF FOSS para Java

Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused classes que fornecem operações direcionadas em documentos PDF sem necessidade de navegação; Cada classe de fachada segue o mesmo padrão: ligar um Documentar, realizar operações, salvar o resultado.

Todas as classes de fachada residem no org.aspose.pdf.facades Embalagem:

import org.aspose.pdf.facades.*;

PdfAnnotationEditor: Aplanar e Remover Anotações

PdfAnnotationEditor Fornece operações para a gestão de anotações em massa: aplanando-os no conteúdo da página, removendo todas as anotações ou remover tipos de anotações específicos por nome.

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    // Flatten all annotations into the page content stream
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

A Comissão deleteAnnotations(annotationType) sobrecarga aceita uma sequência de tipo anotação como: "Highlight" ou a) "Widget" Eliminar apenas anotações desse tipo. countAnnotations() Retorna a contagem total de anotações em todas as páginas.

PdfBookmarkEditor: Criar e excluir marcadores

PdfBookmarkEditor gerencia a árvore de contornos PDF (marcas). Expõe métodos para criar novos marcadores com createBookmarks(), excluindo todos os marcadores com: deleteBookmarks(), e removendo marcadores por título com o deleteBookmarkByTitle().

try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
    bookmarkEditor.bindPdf("input.pdf");
    // Remove all bookmarks from the document
    bookmarkEditor.deleteBookmarks();
    bookmarkEditor.save("no-bookmarks.pdf");
}

A Comissão bindPdf(document) sobrecarga aceita um Document O objectivo é o de: utilização em canais onde o documento já está carregado na memória.

PdfContentEditor: Substituição de texto

PdfContentEditor Suporta a substituição de texto direcionado dentro dos fluxos de conteúdo PDF. replaceText(searchText, replaceText) substitui todas as ocorrências de uma cadeia de caracteres. No conjunto do documento; replaceText(searchText, pageNumber, replaceText) Limita a substituição a uma única página.

try (PdfContentEditor contentEditor = new PdfContentEditor()) {
    contentEditor.bindPdf("template.pdf");
    contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
    contentEditor.save("output.pdf");
}

TextReplaceOptions Controla se a substituição deve preservar o original. fonte e tamanho ou herdar propriedades de texto do conteúdo circundante. getStamps(pageNumber) Renda de rendimentos StampInfo objetos para todos os selos numa página, e a) deleteStampById() Remove um carimbo específico junto do seu identificador.

PdfFileSecurity: Criptografia e Permissões

PdfFileSecurity gerencia a segurança ao nível dos documentos, incluindo criptografia e descriptografação;, As variantes de construção aceitam caminhos de arquivo, fluxos ou um sistema existente de Document instância ao lado do destino de saída.

DocumentPrivilege representa as permissões de acesso para o documento criptografado. Utilização: DocumentPrivilege.getForbidAll() negar todas as operações do utilizador, ou DocumentPrivilege.getAllowAll() para conceder acesso total.

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
    privilege.setAllowPrint(true);
    security.encryptFile("userPass", "ownerPass", privilege, KeySize.x256);
}

decryptFile(ownerPassword) Remove a encriptação quando se conhece a senha do proprietário. A Comissão Algorithm enum fornece RC4 e a) AES Famílias de algoritmos; KeySize especifica o comprimento da chave.

PdfFileStamp: Adicionar selos e números de página

PdfFileStamp adiciona marcas de texto e imagem a páginas PDF e pode automaticamente Os selos são posicionados usando coordenadas baseadas em números de página formatados. colocação em cada página.

try (PdfFileStamp stamp = new PdfFileStamp("input.pdf", "stamped.pdf")) {
    // Add formatted page numbers to all pages
    stamp.addPageNumber("Page #", PageNumberingStyle.NumeralsArabic,
        0, 0, 0, 20);
}

PdfExtractor: Extração de texto e imagem

PdfExtractor fornece uma API baseada em pull para extrair texto e imagens de Documentos PDF. Após ligar um documento, ligue para o site da empresa e clique no link abaixo: extractText() para acionar texto extração, então iterar com hasNextPageText() e a) getNextPageText():

try (PdfExtractor extractor = new PdfExtractor()) {
    extractor.bindPdf("document.pdf");
    extractor.extractText();
    while (extractor.hasNextPageText()) {
        String pageText = extractor.getNextPageText();
        // Collect extracted page content
    }
}

Para extração de imagens, extractImage() desencadeia a extracção e hasNextImage() / getNextImage(outputStream) Iterar sobre as imagens extraídas. A Comissão getPassword() e a) setPassword() Os métodos suportam documentos criptografados.

Começar a Fazer

Adicione a dependência de Maven:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-pdf</artifactId>
  <version>0.1.0-alpha</version>
</dependency>

Todas as classes de fachada requerem Java 11 ou posterior. Aspose. O PDF FOSS para Java é: Licenciado pelo MIT e disponível em: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

Recursos relacionados