Aspose.PDF FOSS für Java ist eine MIT-lizenzierte Java Bibliothek zum Erstellen und Arbeiten mit PDF-Dokumenten. Sie bietet eine umfassende Document Klasse als zentralen Einstiegspunkt sowie vollständige Unterstützung für Anmerkungen, interaktive Formularfelder, Seitenmanipulation, Metadaten und PDF/A‑Konformitätsvalidierung.
Die Bibliothek stellt 527 Klassen bereit, die die vollständige PDF-Spezifikation abdecken: Dokumentenstruktur über Document, Page und PageCollection; Anmerkungen über die Annotation Hierarchie (einschließlich WidgetAnnotation, FreeTextAnnotation und HighlightAnnotation); interaktive Formulare mit Form, ButtonField, CheckboxField und RadioButtonField; Seitenrendering über BmpDevice; und PDF/A‑Konformitätsprüfung durch ActionRules und ActionFixes. Verschlüsselung wird über AESCipher im CBC‑Modus bereitgestellt.
Fügen Sie Aspose.PDF FOSS zu Ihrem Maven-Projekt hinzu, indem Sie groupId org.aspose und artifactId aspose-pdf verwenden. Die Bibliothek erfordert Java 11 oder höher und ist vollständig MIT-lizenziert. Für Unternehmensfunktionen und Support siehe Aspose.PDF for Java — Enterprise Product.
Document‑Klasse, um neue PDF‑Dokumente zu erstellen. Auf vorhandene Dokumente kann über Document(filePath)‑ oder Document(stream)‑Konstruktoren zugegriffen werden.PageCollection hinzufügen, darauf zugreifen und sie ändern. Jede Page stellt MediaBox, CropBox, Drehung, Ressourcen und Inhaltsoperatoren bereit.DocumentInfo und XmpMetadata lesen und schreiben.getParser(), getCatalog() und getTrailer() zugreifen.getEmbeddedFiles() verwalten.Document erstellen und Seiten füllen.PdfFileEditor und der API Page.Annotation-Klasse ist die Basis für alle Anmerkungen; konkrete Typen umfassen WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation und UnderlineAnnotation.Document.getForm() auf das Dokumentformular zu, um ButtonField, CheckboxField und RadioButtonField Instanzen aufzulisten oder zu erstellen.AppearanceCharacteristics — Randfarbe, Hintergrund, Drehung und Beschriftungen.FormEditor und FormElement für die Manipulation von Formularen auf höherer Ebene.ActionRules und ActionFixes.AESCipher verschlüsseln und entschlüstern, indem Sie den CBC-Modus (AESCipher.encrypt(key, data) und AESCipher.decrypt(key, data)) verwenden.Artifact und ArtifactCollection.PdfFileEditor.resizeContents() und ContentsResizeParameters anpassen.AnnotationRules und ActionRules.AESCipher zur Verschlüsselung von Datenbereichen, die in Dokumentenströme eingebettet sind.Artifact Objekten, die Wasserzeichnen und Seitendekorationen darstellen.ActionFixes und AnnotationFixes aus, um vorhandene Dokumente den Archivstandards PDF/A-1b zu erfüllen.Erstellen Sie ein neues Dokument, fügen Sie eine Seite hinzu und fügt einen Widget-Anmerkung mit Styling.
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");
}
Fügen Sie eine Funktastengruppe zu einem Dokumentformular hinzu und wählen Sie einen Wert programmatisch aus.
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");
}
Zugriff auf ein vorhandenes Dokument und Lesen der Medienbox-Dimensionen der ersten Seite.
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);
}