Funzionalità della libreria PDF
Funzionalità della Libreria PDF
Questa pagina riepiloga le principali aree funzionali in Aspose.PDF FOSS per Go. Ogni sezione collega a pagine dedicate della guida per sviluppatori con esempi di codice completi.
Gestione Documenti
Document è il tipo centrale. Supporta l’apertura (Open, OpenWithPassword), la creazione (NewDocument), il salvataggio (Save) e l’operazione sulle collezioni di pagine (Split, Append, Extract, PageCount). SetMetadata e Metadata forniscono accesso in lettura/scrittura ai campi del dizionario Info.
doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))Sicurezza e Crittografia
EncryptionOptions configura la crittografia basata su password con una singola chiamata a Document.SetEncryption. Algoritmi supportati: AES-128 (predefinito), AES-256 (ISO 32000-2 / PDF 2.0) e RC4-128. Permissions controlla le operazioni individuali — stampa, copia, accessibilità — in modo indipendente.
doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "user",
OwnerPassword: "owner",
Permissions: &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")AcroForm Elaborazione
Document.Form restituisce un *Form che fornisce accesso a tutti i campi. Le asserzioni di tipo espongono i tipi di campo specifici: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField e ButtonField. I valori dei campi sono scritti; le apparizioni vengono rigenerate automaticamente dai visualizzatori PDF.
doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")Layout della tabella
Table, Row e Cell creano layout a griglia posizionati sulle pagine. BorderInfo imposta gli stili del bordo per cella o per l’intera tabella. MarginInfo imposta il padding. TextStyle, Font, Color, HAlign e VAlign controllano la presentazione del testo.
Segnalibri e navigazione
OutlineItemCollection rappresenta un singolo segnalibro. Configura titolo, stile grassetto/corsivo, colore del collegamento e destinazione (DestinationXYZ, DestinationFit, DestinationFitH). I segnalibri nidificati costruiscono una gerarchia capitolo/sezione. NamedDestinations fornisce target di pagina riutilizzabili accessibili per nome.
Annotazioni
AnnotationCollection contiene tutte le annotazioni su una pagina. I tipi disponibili includono TextAnnotation, FreeTextAnnotation, StampAnnotation, HighlightAnnotation, LinkAnnotation, RedactAnnotation, InkAnnotation, LineAnnotation, SquareAnnotation e CircleAnnotation.
Gestione delle immagini
Image rappresenta una risorsa immagine incorporata. ImageInfo espone dimensioni e spazio colore. Le immagini possono essere aggiunte alle pagine direttamente o incorporate nelle celle di una tabella. OptimizeImageOptions fornisce parametri di compressione per la riduzione della dimensione del file.
Rendering su immagine
BmpDevice, PngDevice, JpegDevice, GifDevice e TiffDevice rendono le singole pagine PDF in immagini raster. Ogni dispositivo è costruito con un valore Resolution ed espone un metodo Render* che scrive l’output in un io.Writer. RenderOptions controlla i parametri di rendering — risoluzione di output (DPI) e colore di sfondo.
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)Ricerca testo
SearchText accetta una stringa di query e SearchOptions e restituisce una slice di risultati TextMatch. Ogni TextMatch espone il testo corrispondente, il suo riquadro di delimitazione sulla pagina e l’indice della pagina in cui è stato trovato.
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)
}Appiattimento del modulo
Document.Flatten converte tutti i campi modulo interattivi in contenuto statico. I valori dei campi sono incorporati nella grafica della pagina e i campi modulo vengono rimossi, producendo un PDF non modificabile.
doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")API Reference Riepilogo
| Tipo | Purpose |
|---|---|
Document | Contenitore principale del documento — apri, crea, salva, dividi, unisci |
Page | Accesso a pagina singola — dimensione, annotazioni, contenuto |
Form | AcroForm contenitore — enumerazione dei campi e accesso |
Table | Elemento di layout a griglia |
EncryptionOptions | Configurazione di password e algoritmo |
Permissions | Flag di controllo accesso per operazione |
OutlineItemCollection | Nodo dell’albero dei segnalibri |
AnnotationCollection | Contenitore di annotazioni della pagina |
Metadata | Lettura/scrittura del dizionario Info |
Image | Risorsa immagine incorporata |
BmpDevice | Renderizza pagina PDF in BMP |
PngDevice | Renderizza pagina PDF in PNG |
JpegDevice | Renderizza la pagina PDF in JPEG |
TiffDevice | Renderizza la pagina PDF in TIFF |
GifDevice | Renderizza la pagina PDF in GIF |
RenderOptions | Parametri di rendering — DPI e colore di sfondo |
SearchOptions | Configurazione della ricerca testuale |
TextMatch | Risultato singolo della ricerca testuale con bounding box |
LinearGradient | Riempimento a gradiente lineare per forme vettoriali |
RadialGradient | Riempimento a gradiente radiale per forme vettoriali |