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

Aspose.PDF FOSS für Java

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

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, zusammen mit vollständiger Unterstützung von Anmerkungen, interaktiven Formularfeldern, Seitenmanipulation, Metadaten und PDF/A-Konformitätsvalidierung.

Die Bibliothek stellt 527 Klassen zur Verfügung, 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 die PDF/A‑Konformitätsprüfung über 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.

Dokumentenstruktur und Seitenverwaltung

  • Dokument-API: Verwenden Sie die Document Klasse, um neue PDF-Dokumente zu erstellen. Auf vorhandene Dokumente kann über die Document(filePath) oder Document(stream) Konstruktoren zugegriffen werden.
  • Seitenverwaltung: Hinzufügen, Zugreifen und Ändern von Seiten über PageCollection. Jeder Page stellt MediaBox, CropBox, Drehung, Ressourcen und Inhaltsoperatoren bereit.
  • Metadata: Lesen und Schreiben von Dokumentmetadaten über DocumentInfo und XmpMetadata.
  • PDF-Struktur: Greifen Sie über getParser(), getCatalog() und getTrailer() auf die zugrunde liegenden PDF-Objekte zu.
  • Eingebettete Dateien: Verwalten Sie Sammlungen eingebetteter Dateien mit getEmbeddedFiles().

Gängige Dokumentenverarbeitungsszenarien

  • PDF-Generierung: Erstellen Sie Dokumente programmgesteuert, indem Sie ein Document erstellen und Seiten befüllen.
  • Dokumentanalyse: Zugriff auf vorhandene Dateien zur Metadateninspektion oder zur Aufzählung von Formularfeldern.
  • Seitenmanipulation: Größe ändern, drehen oder Seiten neu anordnen mit PdfFileEditor und der Page API.
  • Batch workflows: Konsistente Transformationen über mehrere Dokumente in serverseitigen Pipelines anwenden.

Anmerkungen und Formularfelder

  • Annotation hierarchy: Die abstrakte Annotation Klasse ist die Basis für alle Anmerkungen; konkrete Typen umfassen WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation und UnderlineAnnotation.
  • Interaktive Formulare: Greifen Sie über Document.getForm() auf das Dokumentformular zu, um ButtonField, CheckboxField und RadioButtonField Instanzen aufzuzählen oder zu erstellen.
  • Widget‑Aussehen: Steuern Sie die visuellen Eigenschaften über AppearanceCharacteristics — Randfarbe, Hintergrund, Drehung und Beschriftungen.
  • Formularbearbeitung: Verwenden Sie FormEditor und FormElement für die Manipulation von Formularen auf höherer Ebene.

Dokumentenprüfung und Zusammenarbeit

  • Markup-Anmerkungen: Fügen Sie Hervorhebungs-, Unterstreichungs- oder Freitext-Anmerkungen zu Dokumenten für Überprüfungs‑Workflows hinzu.
  • Interaktive Formulare: Erstellen Sie ausfüllbare Dokumente mit Optionsschaltern, Kontrollkästchen und Schaltflächen zur Datenerfassung.
  • Formulardatenextraktion: Lesen Sie übermittelte Formularfeldwerte für serverseitige Pipelines.
  • Archivkonformität: Validieren und reparieren Sie Dokumente für die Langzeitarchivierung mit ActionRules und ActionFixes.

Sicherheit und Inhaltsoperationen

  • AES-Verschlüsselung: Daten-Byte-Arrays mit AESCipher im CBC-Modus (AESCipher.encrypt(key, data) und AESCipher.decrypt(key, data)) verschlüsseln und entschlüsseln.
  • Artefaktverwaltung: Identifizieren und manipulieren Sie Kopfzeilen, Fußzeilen, Wasserzeichen und Hintergrundbilder über die Artifact- und ArtifactCollection-APIs.
  • Inhaltsgröße ändern: Passen Sie das Seiteninhaltslayout mit PdfFileEditor.resizeContents() und ContentsResizeParameters an.
  • Compliance validation: Validieren Sie Annotations‑ und Aktionsregeln gegen PDF/A‑Standards mit AnnotationRules und ActionRules.

Anwendungsfälle für Dokumentensicherheit

  • Verschlüsselte Nutzdaten: Verwenden Sie AESCipher, um Datenabschnitte, die in Dokumentenströmen eingebettet sind, zu verschlüsseln.
  • Dokumentenschutz: Sicherheits­einstellungen für die Zugriffskontrolle in Compliance‑Workflows anwenden.
  • Watermarking: Erkennen und Verwalten von Artifact-Objekten, die Wasserzeichen und Seitenverzierungen darstellen.
  • Archivkonformität: Führen Sie ActionFixes und AnnotationFixes aus, damit vorhandene Dokumente den PDF/A-1b-Archivierungsstandards entsprechen.

Ein Dokument mit Widget-Anmerkung erstellen

Erstellen Sie ein neues Dokument, fügen Sie eine Seite hinzu und fügen Sie eine Widget-Annotation mit Stil hinzu.

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

Ein Formular mit Optionsfeldern erstellen

Fügen Sie einem Dokumentformular eine Radio‑Button‑Gruppe hinzu und wählen Sie einen Wert programmgesteuert 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");
}

Seitenabmessungen des Dokuments prüfen

Greifen Sie auf ein vorhandenes Dokument zu und lesen Sie die MediaBox‑Abmessungen 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