1. Productes
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

Creeu i manipuleu documents PDF des de Java — amb anotacions, camps de formulari, manipulació de pàgines i compliment PDF/A. Llicència MIT.

Biblioteca Java lliure amb llicència MIT per a la creació i manipulació de PDFs.

Aspose.PDF FOSS per a Java és una biblioteca Java amb llicència MIT per crear i treballar amb documents PDF. Proporciona una classe Document completa com a punt d’entrada central, juntament amb una cobertura total d’anotacions, camps de formulari interactius, manipulació de pàgines, metadades i validació de compliment PDF/A.

La biblioteca exposa 527 classes que cobreixen l’especificació completa de PDF: estructura del document a través de Document, Page i PageCollection; anotacions mitjançant la jerarquia Annotation (incloent WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); formularis interactius amb Form, ButtonField, CheckboxField i RadioButtonField; renderització de pàgines via BmpDevice; i comprovació del compliment PDF/A a través de ActionRules i ActionFixes. El xifratge es proporciona via AESCipher en mode CBC.

Afegeix Aspose.PDF FOSS al teu projecte Maven utilitzant groupId org.aspose i artifactId aspose-pdf. La biblioteca requereix Java 11 o posterior i té llicència MIT completa. Per a funcions i suport empresarial, consulta Aspose.PDF for Java — Enterprise Product.

Estructura del document i gestió de pàgines

  • Document API: Utilitzeu la classe Document per crear nous documents PDF. Els documents existents es poden accedir mitjançant els constructors Document(filePath) o Document(stream).
  • Page management: Afegiu, accediu i modifiqueu pàgines mitjançant PageCollection. Cada Page exposa MediaBox, CropBox, rotació, recursos i operadors de contingut.
  • Metadata: Llegiu i escriviu les metadades del document mitjançant DocumentInfo i XmpMetadata.
  • PDF structure: Accediu als objectes PDF subjacents a través de getParser(), getCatalog() i getTrailer().
  • Embedded files: Gestioneu les col·leccions de fitxers incrustats amb getEmbeddedFiles().

Escenaris comuns de tractament de documents

  • ** Generació de PDF:** Construir documents programàticament creant un Document i omplir pàgines.
  • Anàlisi de document: Accedir als arxius existents per a la inspecció de metadades o l’enumeració dels camps del formulari.
  • ** Manipulació de pàgines:** Redimensionar, girar o reordenar pàgines utilitzant PdfFileEditor i l’API Page.
  • Flusos de treball en batx: Aplicar transformacions consistents a través de múltiples documents en pipelines del costat del servidor.

Anotations i camps de formulari

  • Hierarquia d’anotations: La classe abstracta Annotation és la base per a totes les anotacions; els tipus concrets inclouen WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation i UnderlineAnnotation.
  • ** Formularis interactius:** Accedeix al formulari de document a través d’Document.getForm() per enumerar o crear instàncies ButtonField, CheckboxField i RadioButtonField}.
  • ** Aparició del widget:** Controla les propietats visuals a través de AppearanceCharacteristics color de bordura, fons, rotació i títols.
  • Edició de formulari: Utilitza FormEditor i FormElement per a la manipulació d’un formulariu de nivell superior.

Revisió i col·laboració de documents

  • ** Anotades de marca:** Agregar a documents anotats d’accent, subratlla o text lliure per revisar els fluxos de treball.
  • ** Formularis interactius:** Construeix documents que es poden omplir amb botons de ràdio, caselles d’esmarcament i botones per a la captura de dades.
  • Extracció de dades del formulari: Llegir els valors dels camps del formulari enviats per a les pipelines al costat del servidor.
  • Conformitat d’arxiu: Validar i arreglar documents per a l’archivament de llarg termini utilitzant ActionRules i ActionFixes.

Operacions de seguretat i contingut

  • ** Encriptació AES:** Cripar i desxifrar matrius de bytes de dades amb AESCipher utilitzant el mode CBC (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • Gestió d’artefactes: Identificar i manipular encabezats, pies de pàgina, marques d ‘aigua i imatges d " fons a través de les API Artifact i ArtifactCollection.
  • ** Redimensionament de contingut:** Ajustar el disseny del contingut de la pàgina amb PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • ** Validació de la conformitat:** Validar les regles d’anotativa i acció contra els estàndards PDF/A utilitzant AnnotationRules i ActionRules.

Casos d'ús de seguretat del document

  • Càrregues xifrades: Utilitzeu AESCipher per xifrar les seccions de dades incrustades en els fluxos del document.
  • Protecció del document: Apliqueu configuracions de seguretat per al control d’accés en fluxos de treball de compliment.
  • Marca d’aigua: Detecteu i gestioneu els objectes Artifact que representen marques d’aigua i decoracions de pàgina.
  • Compliment d’arxiu: Executeu ActionFixes i AnnotationFixes per fer que els documents existents compleixin les normes d’arxiu PDF/A-1b.

Crear un document amb anotació de widget

Crear un nou document, afegir una pàgina i adjuntar una anotació amb estil.

try (Document doc = new Document()) ```java
try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}

Crear un formulari amb botons de ràdio

Afegir un grup de botons de ràdio a un formulari de document i seleccionar programàticament un valor.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
    radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Option2");
    doc.save("form.pdf");
}

Inspeccionar les dimensions de la pàgina del document

Accedeix a un document existent i llegeix les dimensions de la caixa dels mitjans de comunicació de l’última pàgina.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

Suport i recursos d aprenentatge

 Català