1. Prodotti
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Go

Aspose.PDF FOSS for Go

Libreria Pure-Go per creare, modificare, unire e proteggere documenti PDF — open source sotto licenza MIT, zero dipendenze non‑Go.

Aspose.PDF FOSS — Libreria PDF Go Open Source

Aspose.PDF FOSS for Go è una libreria pure-Go che consente agli sviluppatori di creare, leggere, modificare, unire, dividere e proteggere documenti PDF senza alcuna dipendenza nativa esterna. Progettata per applicazioni Go lato server, si integra in qualsiasi progetto di modulo Go con un unico go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go comando.

La libreria espone una superficie API completa attraverso i tipi Document, Page, Form, Table, e AnnotationCollection, coprendo la gestione dei documenti, la compilazione di AcroForm, il layout di tabelle strutturate, la navigazione dei segnalibri, la gestione delle immagini e la convalida dell’integrità strutturale. Le funzionalità di sicurezza includono la crittografia AES-128, AES-256 e RC4-128 tramite EncryptionOptions e Permissions, con controllo di accesso granulare per operazione. Aspose.PDF FOSS for Go è rilasciato sotto licenza MIT senza costi di runtime o restrizioni d’uso. Richiede Go 1.24 o successivo. Per funzionalità enterprise e supporto, vedere Aspose.PDF for Go — Enterprise Product.

Operazioni di documentazione

  • Aprire, creare, salvare e chiudere file PDF tramite Document
  • Dividere un documento in istanze Document per pagina
  • Aggiungere più file PDF in loco usando Append
  • Estratti sottoinsiemi di pagine utilizzando PageRange per esportazioni parziali
  • Leggere e scrivere i metadati del documento XMP attraverso il tipo XMPMetadata

Scenari pratici

  • Dividere i file PDF in entrata per serie in archivi di singole pagine
  • Raccogliere i rapporti mensili da sezioni PDF
  • Estratti di file per flussi di lavoro con copia redatta
  • Aggiorna l’autore e la data di creazione del documento in modo programmatico

Sicurezza e autorizzazioni

  • Crittografare i file PDF con AES-128, AEs-256 o RC4-128 tramite EncryptionOptions
  • Imposta password utente e proprietario in una singola chiamata SetEncryption
  • Restringere la stampa, copia e accessibilità usando Permissions
  • Aprire file protetti da password con OpenWithPassword
  • Rimuovere la crittografia e produrre copie decriptate quando necessario

Scenari pratici

  • Fornire rapporti riservati con password per destinatario
  • Applica le autorizzazioni per la stampa esclusivamente sui contratti distribuiti
  • Ricodifica dei documenti dopo aver inserito l’icona d’acqua in posizione
  • Produrre copie di archivio in testo chiaro da originali protetti

Processamento di acroformati

  • Elencare tutti i campi in un modulo utilizzando Form e Field
  • Impostazione dei valori di testo sulle istanze TextBoxField per nome del campo
  • Togliere CheckboxField e selezionare le opzioni RadioButtonField
  • Scegliere gli elementi nei controlli ComboBoxField e ListBoxField
  • Azioni di innesco ButtonField nei documenti dei moduli interattivi

Scenari pratici

  • Pipe line automatizzate per la compilazione di fatture e moduli contrattuali
  • Pre-compilare i modelli di applicazione prima della distribuzione in PDF
  • Valori di campo estratti per l’elaborazione dei dati a valle
  • Validazione della presenza sul campo prima dell’archiviazione

Tabelle e layout strutturato

  • Crea layout a griglia con i tipi Table, Row e Cell
  • Applica stili di bordo tramite BorderInfo per cella o tabella
  • Imposta padding e spaziatura con MarginInfo
  • Stila il testo con TextStyle, Font, Color, HAlign e VAlign
  • Inserisci immagini all’interno delle celle della tabella usando Image

Scenari pratici

  • Generare fatture e rendiconti finanziari con dati tabellari
  • Schema di renderizzazione o tabelle di confronto nei rapporti generati
  • Produrre file PDF basati su dati dai risultati delle query del database
  • Creare tabelle accessibili con confini e spazi coerenti

Segnalibri e navigazione

  • Creare alberi gerarchici di segnalibri tramite OutlineItemCollection
  • Imposta stili grassetti/italici e colori personalizzati sugli elementi di contorno
  • Collegare i segnalibri alle coordinate esatte usando DestinationXYZ
  • Utilizzare destinazioni di pagina-fit con DestinationFit
  • Registra gli obiettivi di salto nominati attraverso NamedDestinations

Scenari pratici

  • Aggiungere segnalibri di capitolo e sezione a documenti lunghi
  • Creazione di tabelle interattive dei contenuti per manuali tecnici
  • Abilitare la navigazione a collegamenti profondi da hyperlink esterni
  • Preservare la struttura dei segnalibri quando si uniscono più documenti

Notazioni e francobolli

  • Aggiungere commenti tramite Annotation e AnnotationCollection
  • Creare chiamate di testo con TextAnnotation e FreeTextAnnotation
  • Applicare i timbri di omologazione tramite StampAnnotation e StampName
  • Sottolineare il contenuto con HighlightAnnotation
  • Redazione delle regioni sensibili con RedactAnnotation

Scenari pratici

  • Aggiungere i commenti del revisore ai progetti di documenti da approvare
  • Stampo APPROVED o CONFIDENTIAL sui PDF finalizzati
  • Redazione permanente dei dati personali per gli archivi conformi al GDPR
  • Incorporare collegamenti ipertestuali e azioni URI tramite LinkAnnotation

Dividere e unire i file PDF

Apri un PDF, dividi in documenti per pagina o fusi più file in uno.

doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
for i, p := range pages {
    p.Save(fmt.Sprintf("page%03d.pdf", i+1))
}
doc2, _ := pdf.Open("file2.pdf")
doc.Append(doc2)
doc.Save("merged.pdf")

Crittografare con autorizzazioni

Applicare la crittografia AES-128 con autorizzazioni di stampa e copia granulari in una sola chiamata.

doc, _ := pdf.Open("input.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
    UserPassword:  "userpass",
    OwnerPassword: "ownerpass",
    Permissions:   &pdf.Permissions{AllowPrint: true, AllowCopy: true},
})
doc.Save("restricted.pdf")

Compilare i campi dell’acroform

Indicare i campi del modulo di destinazione per nome e impostare valori per tutti i tipi di widget.

doc, _ := pdf.Open("template.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
check := doc.Form().Field("subscribe").(*pdf.CheckboxField)
check.SetChecked(true)
radio := doc.Form().Field("plan").(*pdf.RadioButtonField)
radio.Options()[1].SetSelected(true)
doc.Save("filled.pdf")

Creare segnalibri gerarchici

Crea un albero di segnalibri annidato con voci stilate e destinazioni precise delle pagine.

doc, _ := pdf.Open("input.pdf")
page, _ := doc.Page(1)
chapter := pdf.NewOutlineItemCollection(doc)
chapter.SetTitle("Chapter 1")
chapter.SetBold(true)
chapter.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(chapter)
doc.Save("with_bookmarks.pdf")

Domande Frequenti

Qual è la licenza per Aspose.PDF FOSS per Go?

Aspose.PDF FOSS for Go è rilasciato sotto la Licenza MIT. Il testo completo della licenza è incluso nel repository a github.com/aspose-pdf-foss/aspose-pdf-foss-for-go.

Posso usare Aspose.PDF FOSS per Go in un prodotto commerciale?

La licenza del MIT permette l’uso commerciale, la modificazione, distribuzione e uso privato.

C’e’ una versione aziendale?

Un prodotto commerciale separato Aspose.PDF è disponibile come il Aspose.PDF — Enterprise Product Family con supporto aziendale, copertura estesa di formato e integrazione cloud.

Come installo Aspose.PDF FOSS per Go?

Eseguire go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go per aggiungere il modulo al progetto Go. Importarlo con un alias nei file sorgente usando import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go".

Quale versione Go è richiesta?

È necessario andare a 1.24 o successiva. Verifica la tua versione con go version.

  

Risorse di Supporto e Apprendimento

 Italiano