Funzionalità della libreria PDF

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

TipoPurpose
DocumentContenitore principale del documento — apri, crea, salva, dividi, unisci
PageAccesso a pagina singola — dimensione, annotazioni, contenuto
FormAcroForm contenitore — enumerazione dei campi e accesso
TableElemento di layout a griglia
EncryptionOptionsConfigurazione di password e algoritmo
PermissionsFlag di controllo accesso per operazione
OutlineItemCollectionNodo dell’albero dei segnalibri
AnnotationCollectionContenitore di annotazioni della pagina
MetadataLettura/scrittura del dizionario Info
ImageRisorsa immagine incorporata
BmpDeviceRenderizza pagina PDF in BMP
PngDeviceRenderizza pagina PDF in PNG
JpegDeviceRenderizza la pagina PDF in JPEG
TiffDeviceRenderizza la pagina PDF in TIFF
GifDeviceRenderizza la pagina PDF in GIF
RenderOptionsParametri di rendering — DPI e colore di sfondo
SearchOptionsConfigurazione della ricerca testuale
TextMatchRisultato singolo della ricerca testuale con bounding box
LinearGradientRiempimento a gradiente lineare per forme vettoriali
RadialGradientRiempimento a gradiente radiale per forme vettoriali

Vedi anche

 Italiano