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
| Typ | Purpose |
|---|---|
Document | Kern-Dokumentcontainer — öffnen, erstellen, speichern, aufteilen, zusammenführen |
Page | Einzelseitenzugriff — Größe, Anmerkungen, Inhalt |
Form | AcroForm container — Feldaufzählung und Zugriff |
Table | Rasterlayout-Element |
EncryptionOptions | Passwort- und Algorithmuskonfiguration |
Permissions | Zugriffskontroll-Flags pro Vorgang |
OutlineItemCollection | Lesezeichenbaumknoten |
AnnotationCollection | Seitenannotationscontainer |
Metadata | Info-Wörterbuch lesen/schreiben |
Image | Eingebettete Bildressource |
BmpDevice | PDF-Seite in BMP rendern |
PngDevice | PDF-Seite in PNG rendern |
JpegDevice | PDF-Seite als JPEG rendern |
TiffDevice | PDF-Seite als TIFF rendern |
GifDevice | PDF-Seite als GIF rendern |
RenderOptions | Render-Parameter — DPI und Hintergrundfarbe |
SearchOptions | Textsuche-Konfiguration |
TextMatch | Einzelnes Textsuchergebnis mit Begrenzungsrahmen |
LinearGradient | Linearer Farbverlauf für Vektorformen |
RadialGradient | Radialer Farbverlauf für Vektorformen |