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

Aspose.PDF FOSS for Java

Erstellen und bearbeiten Sie PDF-Dokumente aus Java — mit Anmerkungen, Formularfeldern, Seitenmanipulation und PDF/A‑Konformität. MIT-licensed.

Kostenlose MIT-lizenzierte Java Bibliothek für PDF Erstellung und Manipulation

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.

Dokumentstruktur und Seitenverwaltung

  • Dokument API: Verwenden Sie die Document‑Klasse, um neue PDF‑Dokumente zu erstellen. Auf vorhandene Dokumente kann über Document(filePath)‑ oder Document(stream)‑Konstruktoren zugegriffen werden.
  • Seitenverwaltung: Seiten über PageCollection hinzufügen, darauf zugreifen und sie ändern. Jede Page stellt MediaBox, CropBox, Drehung, Ressourcen und Inhaltsoperatoren bereit.
  • Metadaten: Dokumentmetadaten über DocumentInfo und XmpMetadata lesen und schreiben.
  • PDF‑Struktur: Auf die zugrunde liegenden PDF‑Objekte über getParser(), getCatalog() und getTrailer() zugreifen.
  • Eingebettete Dateien: Eingebettete Dateisammlungen mit getEmbeddedFiles() verwalten.

Gemeinsame Szenarien für die Dokumentenverarbeitung

  • PDF-Erstellung: Erstellen Sie Dokumente programmatisch, indem Sie einen Document erstellen und Seiten füllen.
  • Dokumentenanalyse: Zugriff auf vorhandene Dateien zur Überprüfung von Metadaten oder zum Aufzählen der Formularfelder.
  • Seitenmanipulation: Größe ändern, drehen oder neu ordnen Sie Seiten mit PdfFileEditor und der API Page.
  • ** Batch-Arbeitsflüsse:** Anwendungen konsistenter Transformationen über mehrere Dokumente in Serverseitenpipelines hinweg.

Anmerkungen und Formularfelder

  • Annotation hierarchy: Die abstrakte Annotation-Klasse ist die Basis für alle Anmerkungen; konkrete Typen umfassen WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation und UnderlineAnnotation.
  • Interactive forms: Greifen Sie über Document.getForm() auf das Dokumentformular zu, um ButtonField, CheckboxField und RadioButtonField Instanzen aufzulisten oder zu erstellen.
  • Widget appearance: Steuern Sie visuelle Eigenschaften über AppearanceCharacteristics — Randfarbe, Hintergrund, Drehung und Beschriftungen.
  • Form editing: Verwenden Sie FormEditor und FormElement für die Manipulation von Formularen auf höherer Ebene.

Dokumentenüberprüfung und Zusammenarbeit

  • Markup-Anmerkungen: Fügen Sie Dokumenten Highlight-, Unterstriche- oder Freitextanmerungen hinzu, um die Arbeitsabläufe zu überprüfen.
  • Interaktive Formulare: Erstellen Sie ausfüllbare Dokumente mit Funkknöpfen, Kontrollkästen und Druckschaltflächen zur Datenerfassung.
  • Formulardatenentnahme: Lesen der eingereichten Formularspielwert für Server-Pipeline.
  • Archivierungskonformität: Validieren und fixieren Sie Dokumente für die Langzeitarchiverung mit ActionRules und ActionFixes.

Sicherheit und Inhalte

  • AES-Verschlüsselung: Datenbytearchive mit AESCipher verschlüsseln und entschlüstern, indem Sie den CBC-Modus (AESCipher.encrypt(key, data) und AESCipher.decrypt(key, data)) verwenden.
  • Artifact-Management: Identifizieren und manipulieren Sie Überschriften, Fußzeilen, Wasserzeichen und Hintergrundbilder über die APIs Artifact und ArtifactCollection.
  • ** Inhaltsgröße ändern:** Layout des Seiteninhaltes mit PdfFileEditor.resizeContents() und ContentsResizeParameters anpassen.
  • Konformitätsvalidierung: Validieren Sie Anmerkungen und Handlungsregeln anhand von PDF/A-Standards mit AnnotationRules und ActionRules.

Dokumentsicherheitsanwendungsfälle

  • ** Verschlüsselte Nutzlasten:** Verwenden Sie AESCipher zur Verschlüsselung von Datenbereichen, die in Dokumentenströme eingebettet sind.
  • Dokumentenschutz: Sicherheitseinstellungen für die Zugriffskontrolle in Compliance-Arbeitsflüssen anwenden.
  • ** Wasserzeichen:** Erkennen und verwalten von Artifact Objekten, die Wasserzeichnen und Seitendekorationen darstellen.
  • Archive-Konformität: Führen Sie ActionFixes und AnnotationFixes aus, um vorhandene Dokumente den Archivstandards PDF/A-1b zu erfüllen.

Erstellen eines Dokuments mit Widget-Annotation

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

Erstellen eines Formulars mit Funkknöpfen

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

Überprüfen Sie die Seitengrößen des Dokuments

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

Support und Lernressourcen

 Deutsch