PDF:n luominen Golangissa (PDF)

Pdf N Luominen Golangissa Pdf



Portable Document Format tai lyhyesti PDF on uskomattoman suosittu ja monipuolinen tiedostomuoto, jota käytetään asiakirjoissa. PDF on tuettu lähes kaikissa alustoissa ja järjestelmissä, joten se on erinomainen valinta asiakirjojen jakamiseen.

Mitä tulee kehittäjiin, saatamme kohdata tapauksia, joissa meidän on luotava ohjelmallisesti PDF-dokumentit syöttötietojen perusteella. Sinulla voi esimerkiksi olla verkkosovellus, joka luo PDF-laskut tietokannan ostotietojen perusteella.

Onneksi Go-ekosysteemi on massiivinen, ja siellä on työkaluja ja ominaisuuksia, joiden avulla voit luoda PDF-tiedostot helposti rakentamatta tyhjästä.







Tässä opetusohjelmassa opimme käyttämään 'fpdf'-pakettia, joka tarjoaa tehokkaita ominaisuuksia PDF-dokumenttien luomiseen syöttötietojen perusteella.



Ympäristön asetukset

Ennen kuin jatkamme, varmista, että olet asentanut seuraavat työkalut:



  1. Varmista, että järjestelmääsi on asennettu uusin Go-kääntäjä
  2. Koodieditori

Asenna Gofpdf

Kun olet määrittänyt projektisi, käytä 'go get' -komentoa 'fpdf'-paketin asentamiseen.





$ mennä hanki github . kanssa / mennä - pdf / fpdf

Kun asennus on tehty, voimme jatkaa ja kattaa paketin tarjoamat ominaisuudet PDF-luonnosta varten.

Luo PDF-perusasiakirja

Harkitse seuraavaa esimerkkikoodia, joka näyttää, kuinka tätä pakettia käytetään perus-PDF:n luomiseen perussyöttötekstillä.



paketti pää

tuonti (
'github.com/go-pdf/fpdf'
)

func pää () {
pdf := fpdf . Uusi ( 'P' , 'mm' , 'A4' , '' )
pdf . Lisää sivu ()
pdf . SetFont ( 'Arial' , 'B' , 16 )
pdf . Cell ( 40 , 10 , 'Se on tuskaa perseessä...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

Annetussa esimerkissä aloitamme tuomalla tarvitsemamme paketit. Meidän tapauksessamme tarvitsemme vain 'fpdf'-paketin.

Seuraavaksi luomme uuden PDF-dokumentin fpdf.New()-funktiolla ja määritämme PDF-ominaisuudet, kuten sivun suunnan, mittayksikön ja koon.

Seuraavaksi lisäämme uuden sivun käyttämällä AddPage()-funktiota.

Jatkamme sitten asiakirjan fontin ja koon määrittämistä SetFont()-funktiolla. Lisäämme myös suorakaiteen muotoisen alueen, joka tunnetaan myös nimellä solu, jossa on Cell()-funktio tekstin näyttämiseksi.

Lopuksi luomme PDF-tiedoston ja tallennamme sen OutputFileAndClose()-menetelmällä.

Lisää kuvat

Voimme myös lisätä tuen kuville seuraavan esimerkkikoodin osoittamalla tavalla:

paketti pää

tuonti (
'github.com/go-pdf/fpdf'
)

func pää () {
pdf := fpdf . Uusi ( 'P' , 'mm' , 'A4' , '' )
pdf . Lisää sivu ()
pdf . ImageOptions ( 'linux-tux.png' , 10 , 10 , 40 , 0 , väärä , fpdf . ImageOptions { Kuvatyyppi : 'PNG' , ReadDpi : totta }, 0 , '' )
err := pdf . OutputFileAndClose ( 'esimerkki.pdf' )
jos err != nolla {
paniikki ( err )
}
}

Tämän pitäisi sisältää asiakirjaan määritetty kuva.

Monisivuinen asiakirja ylä- ja alatunnisteilla

Paketti tukee myös useita sivuja, mukaan lukien ominaisuudet, kuten ylä- ja alatunnisteet, kuten seuraavassa esimerkissä näkyy:

paketti pää

tuonti (
'strconv' // Tuo strconv-paketti

'github.com/go-pdf/fpdf'
)

func otsikko ( pdf * fpdf . Fpdf ) {
pdf . SetFont ( 'Arial' , 'B' , 12 )
pdf . Cell ( 0 , 10 , 'Sivun otsikko' )
pdf . Ln ( kaksikymmentä )
}

func alatunniste ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - viisitoista )
pdf . SetFont ( 'Arial' , 'minä' , 8 )
pdf . Cell ( 0 , 10 , 'sivu' + strconv . hukkunut ( pdf . Sivunro ()))
}

func pää () {
pdf := fpdf . Uusi ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( func () { otsikko ( pdf ) })
pdf . SetFooterFunc ( func () { alatunniste ( pdf ) })

pdf . Lisää sivu ()
pdf . SetFont ( 'Arial' , '' , 12 )
varten i := 0 ; i < 40 ; i ++ {
pdf . Cell ( 0 , 10 , 'Tulostusrivin numero' + strconv . hukkunut ( i ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'multipage.pdf' )
}

Tässä tapauksessa määritämme ylä- ja alatunnistefunktiot näiden PDF-osien sisällön määrittämiseksi.

Käytämme sitten SetHeaderFunc- ja SetFooterFunc-toimintoja määrittääksemme toiminnot asiakirjan ylä- ja alatunnisteeksi.

Lopuksi käytämme silmukkaa luodaksemme useita tekstirivejä, jotka johtavat useisiin sivuihin. Tuloksena oleva PDF on seuraava:

Siinä se on!

Johtopäätös

Tässä opetusohjelmassa opimme paljon PDF:n luomisesta Gossa 'fpdf'-paketin avulla. Tämä paketti sisältää paljon työkaluja ja ominaisuuksia PDF-tiedostojen luomiseen. Tarkista asiakirjat saadaksesi lisätietoja.