Go è un linguaggio di programmazione che sta riscuotendo un discreto successo negli ultimi tempi, sempre più sviluppatori si stanno avvicinando alla sua community, realizzando i progetti più disparati. A tal proposito oggi vogliamo parlarvi di un piccolo tool chiamato gofpdf, un software scritto in Go con cui è possibile generare in modo semplice e veloce dei documenti in formato PDF.
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