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

Aspose.PDF FOSS for Java

Creëer en bewerk PDF‑documenten vanuit Java — met annotaties, formuliervelden, paginamanipulatie en PDF/A‑naleving. MIT‑licentie.

Gratis MIT-licentie Java Library voor PDF creatie en manipulatie

Aspose.PDF FOSS voor Java is een MIT-gelicentieerde Java bibliotheek voor het maken en werken met PDF-documenten. Het biedt een uitgebreide Document klasse als het centrale toegangspunt, samen met volledige dekking van annotaties, interactieve formuliervelden, paginamanipulatie, metadata en PDF/A-conformiteitsvalidatie.

De bibliotheek biedt 527 klassen die de volledige PDF-specificatie dekken: documentstructuur via Document, Page en PageCollection; annotaties via de Annotation hiërarchie (inclusief WidgetAnnotation, FreeTextAnnotation en HighlightAnnotation); interactieve formulieren met Form, ButtonField, CheckboxField en RadioButtonField; paginaverwerking via BmpDevice; en PDF/A-conformiteitscontrole via ActionRules en ActionFixes. Versleuteling wordt geleverd via AESCipher in CBC-modus.

Voeg Aspose.PDF FOSS toe aan uw Maven-project met groupId org.aspose en artifactId aspose-pdf. De bibliotheek vereist Java 11 of hoger en is volledig MIT-gelicentieerd. Voor enterprise-functies en ondersteuning, zie Aspose.PDF for Java — Enterprise Product.

Documentstructuur en paginabeheer

  • Document API: Gebruik de Document klasse om nieuwe PDF‑documenten te maken. Bestaande documenten kunnen worden benaderd via de Document(filePath) of Document(stream) constructors.
  • Page management: Voeg pagina’s toe, benader en wijzig ze via PageCollection. Elke Page biedt MediaBox, CropBox, rotatie, resources en content‑operatoren.
  • Metadata: Lees en schrijf documentmetadata via DocumentInfo en XmpMetadata.
  • PDF structure: Toegang tot onderliggende PDF‑objecten via getParser(), getCatalog() en getTrailer().
  • Embedded files: Beheer ingesloten bestandscollecties met getEmbeddedFiles().

Gemeenschappelijke documentverwerkingsscenario's

  • PDF generatie: Programmatisch documenten bouwen door een Document te maken en pagina’s in te vullen.
  • Documentanalyse: Toegang tot bestaande bestanden voor het controleren van metagegevens of de opsomming van formuliervelden.
  • ** Pagina-manipulatie:** Vergroot, draai of reorganiseren van pagina’s met PdfFileEditor en de API voor Page.
  • Batchworkflows: Toepassen van consistente transformaties in meerdere documenten op de serverzijde.

Annotaties en formuliervelden

  • Annotatiehiërarchie: De abstracte Annotation klasse is de basis voor alle annotaties; concrete typen omvatten WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation en UnderlineAnnotation.
  • Interactieve formulieren: Toegang tot het documentformulier via Document.getForm() om ButtonField, CheckboxField en RadioButtonField instanties te enumereren of te maken.
  • Widget‑uiterlijk: Beheer visuele eigenschappen via AppearanceCharacteristics — randkleur, achtergrond, rotatie en bijschriften.
  • Formulierbewerking: Gebruik FormEditor en FormElement voor manipulatie op hoger niveau.

Documentenbeoordeling en samenwerking

  • ** Markup annotaties:** Voeg highlight-, onderstreep- of vrije tekstannotatie toe aan documenten voor de herziening van werkstromen.
  • ** Interactieve formulieren:** Maak invulbare documenten met radio-knoppen, selectievakjes en drukknopen voor het vastleggen van gegevens.
  • Extractie van formuliergegevens: Lees de ingediende formulierspeelwaarden voor serverzijdepijpleidingen.
  • Archiveerconformiteit: Valideren en repareren van documenten voor langdurige archivering met ActionRules en ActionFixes.

Beveiligings- en inhoudsactiviteiten

  • ** AES-codering:** Versleutelen en decoderen van gegevensbyte-arrays met AESCipher via de CBC-modus (AESCipher.encrypt(key, data) en AESCipher.decrypt(key, data)).
  • Artifact management: Identificeer en manipuleer headers, footerplaatsen, watermerken en achtergrondbeelden via de API’s Artifact en ArtifactCollection.
  • ** Inhoud vergroot:** Pas de pagina-inhoudsopzet aan met PdfFileEditor.resizeContents() en ContentsResizeParameters.
  • ** Conformiteitsvalidatie:** Valideer annotaties en actievoorschriften tegen PDF/A-normen met AnnotationRules en ActionRules.

Gebruiksgevallen voor documentbeveiliging

  • ** Gecodeerde nuttige ladingen:** Gebruik AESCipher om gegevensdelen te versleutelen die in documentstromen zijn ingebed.
  • Documentbescherming: Beveiligingsinstellingen toepassen voor toegangscontrole in werkstromen die voldoen aan de voorschriften.
  • Watermarking: Identificeer en beheers Artifact voorwerpen die watermerken en pagina-dekoraties vertegenwoordigen.
  • Archiveerconformiteit: Voer ActionFixes en AnnotationFixes uit om bestaande documenten aan de archiefstandaarden PDF/A-1b te laten voldoen.

Een document maken met widget annotatie

Maak een nieuw document, voeg een pagina toe en sluit een widget annotatie met styling aan.

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

Een formulier maken met radiobutons

Voeg een groep radiobuttons toe aan een documentformulier en selecteer een waarde op programmerende wijze.

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

Beoordelen van de pagina-afmetingen van het document

Toegang tot een bestaand document en lees de afmetingen van het mediavak op de eerste pagina.

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

Ondersteuning en leermiddelen

 Nederlands