PDF-Bibliotheksfunktionen

PDF-Bibliotheksfunktionen

PDF-Bibliotheksfunktionen

Diese Seite fasst die wichtigsten Funktionsbereiche in Aspose.PDF FOSS für Go zusammen. Jeder Abschnitt verweist auf dedizierte Entwicklerleitfaden-Seiten mit vollständigen Code-Beispielen.


Dokumentverwaltung

Document ist der zentrale Typ. Er unterstützt das Öffnen (Open, OpenWithPassword), das Erstellen (NewDocument), das Speichern (Save) und das Arbeiten mit Seitensammlungen (Split, Append, Extract, PageCount). SetMetadata und Metadata bieten Lese-/Schreibzugriff auf die Felder des Info-Dictionarys.

doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))

Sicherheit und Verschlüsselung

EncryptionOptions konfiguriert passwortbasierte Verschlüsselung in einem einzigen Aufruf von Document.SetEncryption. Unterstützte Algorithmen: AES-128 (Standard), AES-256 (ISO 32000-2 / PDF 2.0) und RC4-128. Permissions steuert einzelne Vorgänge — Drucken, Kopieren, Barrierefreiheit — unabhängig voneinander.

doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
	UserPassword:  "user",
	OwnerPassword: "owner",
	Permissions:   &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")

AcroForm Verarbeitung

Document.Form liefert ein *Form, das Zugriff auf alle Felder bietet. Typassertionen offenbaren die spezifischen Feldtypen: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField und ButtonField. Feldwerte werden geschrieben; Darstellungen werden von PDF-Betrachtern automatisch neu erzeugt.

doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")

Tabellenlayout

Table, Row und Cell erstellen Rasterlayouts, die auf Seiten positioniert werden. BorderInfo legt Rahmenstile pro Zelle oder für die gesamte Tabelle fest. MarginInfo legt den Innenabstand fest. TextStyle, Font, Color, HAlign und VAlign steuern die Textpräsentation.


Lesezeichen und Navigation

OutlineItemCollection stellt ein einzelnes Lesezeichen dar. Konfigurieren Sie Titel, fett/kursiv-Stil, Linkfarbe und Ziel (DestinationXYZ, DestinationFit, DestinationFitH). Verschachtelte Lesezeichen erzeugen eine Kapitel-/Abschnittshierarchie. NamedDestinations bietet wiederverwendbare Seitenziele, die über ihren Namen zugänglich sind.


Annotationen

AnnotationCollection enthält alle Annotationen auf einer Seite. Verfügbare Typen umfassen TextAnnotation, FreeTextAnnotation, StampAnnotation, HighlightAnnotation, LinkAnnotation, RedactAnnotation, InkAnnotation, LineAnnotation, SquareAnnotation und CircleAnnotation.


Bildverarbeitung

Image stellt eine eingebettete Bildressource dar. ImageInfo gibt Abmessungen und Farbraum frei. Bilder können direkt zu Seiten hinzugefügt oder in Tabellenzellen eingebettet werden. OptimizeImageOptions liefert Kompressionsparameter zur Reduzierung der Dateigröße.


Rendering zu Bild

BmpDevice, PngDevice, JpegDevice, GifDevice und TiffDevice rendern einzelne PDF-Seiten zu Rasterbildern. Jeder Gerät wird mit einem Resolution-Wert konstruiert und stellt eine Render*-Methode bereit, die die Ausgabe in ein io.Writer schreibt. RenderOptions steuert die Rendering-Parameter — Ausgabeauflösung (DPI) und Hintergrundfarbe.

doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
dev := pdf.NewPngDevice(pdf.Resolution{DPI: 150})
f, _ := os.Create("page1.png")
defer f.Close()
dev.Process(page, f)

Textsuche

SearchText akzeptiert einen Abfrage-String und SearchOptions und gibt ein Slice von TextMatch-Ergebnissen zurück. Jeder TextMatch stellt den gefundenen Text, dessen Begrenzungsrahmen auf der Seite und den Seitenindex, an dem er gefunden wurde, bereit.

doc, _ := pdf.Open("report.pdf")
matches, _ := doc.SearchText("invoice", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
	fmt.Printf("Found %q on page %d\n", m.Text, m.PageNumber)
}

Formular-Flachlegung

Document.Flatten konvertiert alle interaktiven Formularfelder in statischen Inhalt. Feldwerte werden in die Seiten-grafik eingebettet und die Formularfelder entfernt, wodurch ein PDF entsteht, das nicht mehr bearbeitet werden kann.

doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")

API Reference Zusammenfassung

TypPurpose
DocumentKern-Dokumentcontainer — öffnen, erstellen, speichern, aufteilen, zusammenführen
PageEinzelseitenzugriff — Größe, Anmerkungen, Inhalt
FormAcroForm container — Feldaufzählung und Zugriff
TableRasterlayout-Element
EncryptionOptionsPasswort- und Algorithmuskonfiguration
PermissionsZugriffskontroll-Flags pro Vorgang
OutlineItemCollectionLesezeichenbaumknoten
AnnotationCollectionSeitenannotationscontainer
MetadataInfo-Wörterbuch lesen/schreiben
ImageEingebettete Bildressource
BmpDevicePDF-Seite in BMP rendern
PngDevicePDF-Seite in PNG rendern
JpegDevicePDF-Seite als JPEG rendern
TiffDevicePDF-Seite als TIFF rendern
GifDevicePDF-Seite als GIF rendern
RenderOptionsRender-Parameter — DPI und Hintergrundfarbe
SearchOptionsTextsuche-Konfiguration
TextMatchEinzelnes Textsuchergebnis mit Begrenzungsrahmen
LinearGradientLinearer Farbverlauf für Vektorformen
RadialGradientRadialer Farbverlauf für Vektorformen

Siehe auch

 Deutsch