Generare un file PDF, magari da utilizzare per una presentazione, può risultare particolarmente comodo e le principali suite d'ufficio integrano questa funzionalità ormai da tempo, tuttavia spesso il risultato ottenuto non è ottimale. Ecco perché sono nati progetti come gofpdf, che offrono un livello di personalizzazione elevato. gofpdf dispone infatti di una pletora di features ed opzioni per costruire il proprio documento PDF. Presentiamole in breve:

  • Impostazione dell'unità di misura, del formato della pagina ed dei margini.
  • Selezione dell'intestazione della pagina e strumenti per il footer management.
  • Impostazione automatica dell'interruzione di pagina, dell'interruzione della riga e della giustificazione del testo.
  • Importazione dei file JPEG, PNG, GIF, TIFF e SVG per le immagini.
  • Possibilità di impostare i colori, il gradiente e l'alpha channel transparency.
  • Supporto ai segnalibri e ai link interni ed esterni.
  • Supporto al TrueType, Type1 e all'encoding.
  • Compressione della pagina.
  • Supporto alle forme geometriche come le curve di Bézier, agli archi ed alle ellissi.
  • Gestione di rotazione, ridimensionamento, inclinazione, traslazione, mirroring, clipping, layers e templates.
  • Supporto ai codici a barre e alla protezione dei documenti tramite password.

Il codice di gofpdf è disponibile tramite un comodo repository di Github ed installarlo sul proprio PC è davvero semplice:

go get github.com/jung-kurt/gofpdf

gofpdf non necessità di dipendenze e può essere utilizzato su Linux, MacOS e Windows. Ecco come generare un file PDF d'esempio:

pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "B", 16)
pdf.Cell(40, 10, "Ciao!")
err := pdf.OutputFileAndClose("ciao.pdf")

gofpdf è in costante aggiornamento e il team consiglia di verificare spesso la disponibilità di update tramite questo pratico comando:

go get -u -v github.com/jung-kurt/gofpdf/...

Via gofpdf

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *