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

Aspose.PDF FOSS per a Java

Crea i manipula documents PDF des de Java — amb anotacions, camps de formulari, manipulació de pàgines i compliment PDF/A. Amb llicència MIT.

Biblioteca Java gratuïta amb llicència MIT per a la creació i manipulació de PDF

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 completa 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 a través de BmpDevice; i comprovació de compliment PDF/A a través de ActionRules i ActionFixes. El xifratge es proporciona a través de 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 és totalment MIT-licensed. Per a funcions i suport empresarials, 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).
  • Gestió de pàgines: Afegeix, accedeix i modifica pàgines a través de PageCollection. Cada Page exposa MediaBox, CropBox, rotació, recursos i operadors de contingut.
  • Metadata: Llegeix i escriu les metadades del document a través de DocumentInfo i XmpMetadata.
  • Estructura del PDF: Accediu als objectes PDF subjacents a través de getParser(), getCatalog() i getTrailer().
  • Fitxers incrustats: Gestioneu col·leccions de fitxers incrustats amb getEmbeddedFiles().

Escenaris comuns de processament de documents

  • PDF generation: Construeix documents de forma programàtica creant un Document i omplint les pàgines.
  • Anàlisi de documents: Accediu a fitxers existents per a inspecció de metadades o enumeració de camps de formulari.
  • Manipulació de pàgines: Redimensiona, gira o reordena les pàgines utilitzant PdfFileEditor i l’API Page.
  • Fluxos de treball per lots: Aplica transformacions coherents a través de múltiples documents en pipelines del servidor.

Anotacions i camps de formulari

  • Jerarquia d’annotations: La classe abstracta Annotation és la base per a totes les anotacions; els tipus concrets inclouen WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.
  • Formularis interactius: Accediu al formulari del document via Document.getForm() per enumerar o crear instàncies de ButtonField, CheckboxField i RadioButtonField.
  • Aparença del widget: Controla les propietats visuals a través de AppearanceCharacteristics — color de la vora, fons, rotació i llegendes.
  • Edició de formularis: Utilitzeu FormEditor i FormElement per a la manipulació de formularis a nivell superior.

Revisió i col·laboració de documents

  • Markup annotations: Afegeix anotacions de ressaltat, subratllat o de text lliure als documents per a fluxos de revisió.
  • Formularis interactius: Creeu documents omplibles amb botons d’opció, caselles de selecció i botons de pulsació per a la captura de dades.
  • Extracció de dades del formulari: Llegeix els valors dels camps del formulari enviats per a canals del costat del servidor.
  • Compliment d’arxiu: Valideu i corregiu documents per a l’arxiu a llarg termini utilitzant ActionRules i ActionFixes.

Seguretat i Operacions de Contingut

  • Xifratge AES: Xifra i desxifra arrays de bytes de dades amb AESCipher utilitzant el mode CBC (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • Gestió d’artefactes: Identifiqueu i manipuleu capçaleres, peus de pàgina, marques d’aigua i imatges de fons a través de les API Artifact i ArtifactCollection.
  • Content resize: Ajusta la disposició del contingut de la pàgina amb PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • Validació de compliment: Valideu les regles d’anotació i d’acció segons les normes PDF/A utilitzant AnnotationRules i ActionRules.

Casos d'ús de seguretat de documents

  • Càrregues encriptades: Utilitzeu AESCipher per encriptar les seccions de dades incrustades en fluxos de documents.
  • Protecció del document: Aplica configuracions de seguretat per al control d’accés en fluxos de treball de compliment.
  • Watermarking: Detecta i gestiona 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.

Crea un document amb anotació de widget

Creeu un document nou, afegiu una pàgina i adjunteu una anotació de widget amb estil.

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");
}
```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");
}

Crea un formulari amb botons d’opció

Afegeix un grup de botons d’opció a un formulari de document i selecciona un valor programàticament.

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");
}

Inspecciona les dimensions de la pàgina del document

Accediu a un document existent i llegiu les dimensions de la media box de la primera 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à