PDF-bibliotheekfuncties
PDF-bibliotheekfuncties
Deze pagina geeft een overzicht van de belangrijkste functiegebieden in Aspose.PDF FOSS voor Go. Elke sectie linkt naar speciale ontwikkelaarsgids-pagina’s met volledige codevoorbeelden.
Documentbeheer
Document is het centrale type. Het ondersteunt openen (Open, OpenWithPassword), aanmaken (NewDocument), opslaan (Save) en bewerken van paginacollecties (Split, Append, Extract, PageCount). SetMetadata en Metadata bieden lees-/schrijftoegang tot de Info-woordenboekvelden.
doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))Beveiliging en versleuteling
EncryptionOptions configureert wachtwoordgebaseerde versleuteling in één aanroep van Document.SetEncryption. Ondersteunde algoritmen: AES-128 (standaard), AES-256 (ISO 32000-2 / PDF 2.0), en RC4-128. Permissions regelt individuele bewerkingen — afdrukken, kopiëren, toegankelijkheid — onafhankelijk.
doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "user",
OwnerPassword: "owner",
Permissions: &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")AcroForm verwerking
Document.Form retourneert een *Form die toegang biedt tot alle velden. Type-asserties onthullen de specifieke veldtypes: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField en ButtonField. Veldwaarden worden geschreven; weergaven worden automatisch opnieuw gegenereerd door PDF-viewers.
doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")Tabelindeling
Table, Row en Cell bouwen rasterindelingen die op pagina’s worden geplaatst. BorderInfo stelt randstijlen in per cel of voor de hele tabel. MarginInfo stelt opvulling in. TextStyle, Font, Color, HAlign en VAlign regelen de tekstpresentatie.
Bladwijzers en Navigatie
OutlineItemCollection vertegenwoordigt een enkele bladwijzer. Configureer titel, vet/cursief stijl, linkkleur en bestemming (DestinationXYZ, DestinationFit, DestinationFitH). Geneste bladwijzers bouwen een hoofdstuk-/sectiehiërarchie. NamedDestinations biedt herbruikbare paginatargets die via naam toegankelijk zijn.
Annotaties
AnnotationCollection bevat alle annotaties op een pagina. Beschikbare typen omvatten TextAnnotation, FreeTextAnnotation, StampAnnotation, HighlightAnnotation, LinkAnnotation, RedactAnnotation, InkAnnotation, LineAnnotation, SquareAnnotation en CircleAnnotation.
Afbeeldingsverwerking
Image vertegenwoordigt een ingebedde afbeeldingsbron. ImageInfo maakt afmetingen en kleurruimte beschikbaar. Afbeeldingen kunnen direct aan pagina’s worden toegevoegd of ingebed in tabelcellen. OptimizeImageOptions biedt compressieparameters voor het verkleinen van de bestandsgrootte.
Renderen naar afbeelding
BmpDevice, PngDevice, JpegDevice, GifDevice en TiffDevice renderen individuele PDF-pagina’s naar rasterafbeeldingen. Elk apparaat wordt geconstrueerd met een Resolution-waarde en maakt een Render*-methode beschikbaar die de uitvoer naar een io.Writer schrijft. RenderOptions regelt de renderparameters — uitvoerresolutie (DPI) en achtergrondkleur.
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)Tekst zoeken
SearchText accepteert een query-string en SearchOptions en retourneert een slice van TextMatch resultaten. Elke TextMatch maakt de gevonden tekst, de omvattende rechthoek op de pagina, en de paginanummer waar deze werd gevonden beschikbaar.
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)
}Formulier flattenen
Document.Flatten converteert alle interactieve formuliervelden naar statische inhoud. Veldwaarden worden in de paginagrafieken ingebakken en de formuliervelden worden verwijderd, waardoor een PDF ontstaat die niet kan worden bewerkt.
doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")API Reference Samenvatting
| Type | Purpose |
|---|---|
Document | Kern documentcontainer — openen, maken, opslaan, splitsen, samenvoegen |
Page | Enkele paginatoegang — grootte, annotaties, inhoud |
Form | AcroForm container — veldenumeratie en toegang |
Table | Rasterindelingselement |
EncryptionOptions | Wachtwoord- en algoritmeconfiguratie |
Permissions | Per-operatie toegangscontrolevlaggen |
OutlineItemCollection | Bladwijzerboomknooppunt |
AnnotationCollection | Pagina-annotatiecontainer |
Metadata | Info-woordenboek lezen/schrijven |
Image | Ingesloten afbeeldingsresource |
BmpDevice | Render PDF-pagina naar BMP |
PngDevice | Render PDF-pagina naar PNG |
JpegDevice | Render PDF-pagina naar JPEG |
TiffDevice | Render PDF-pagina naar TIFF |
GifDevice | Render PDF-pagina naar GIF |
RenderOptions | Renderparameters — DPI en achtergrondkleur |
SearchOptions | Tekstzoekconfiguratie |
TextMatch | Enkel tekstzoekresultaat met begrenzingsvak |
LinearGradient | Lineaire gradiëntvulling voor vectorvormen |
RadialGradient | Radiale gradiëntvulling voor vectorvormen |