Generiranje PDF-a u Golangu (PDF)

Generiranje Pdf A U Golangu Pdf



Portable Document Format ili skraćeno PDF nevjerojatno je popularan i svestran format datoteke koji se koristi u dokumentima. PDF je podržan u gotovo svim platformama i sustavima, što ga čini odličnim izborom za dijeljenje dokumenata.

Kada je riječ o programerima, mogli bismo naići na slučajeve u kojima trebamo programski generirati PDF dokumente na temelju ulaznih podataka. Na primjer, možete imati web-aplikaciju koja generira PDF fakture na temelju podataka o kupnji iz baze podataka.

Srećom, ekosustav Go je masivan i postoje alati i značajke za jednostavno generiranje PDF-a bez izgradnje od nule.







U ovom vodiču naučit ćemo kako koristiti paket 'fpdf' koji pruža moćne značajke za generiranje PDF dokumenata na temelju ulaznih podataka.



Postavljanje okruženja

Prije nego što nastavimo, provjerite imate li instalirane sljedeće alate:



  1. Provjerite imate li najnoviji Go kompajler instaliran na vašem sustavu
  2. Uređivač koda

Instalirajte Gofpdf

Nakon što postavite svoj projekt, upotrijebite naredbu “go get” za instaliranje paketa “fpdf”.





$ ići dobiti github . s / ići - pdf / fpdf

Nakon instalacije, možemo nastaviti i pokriti značajke koje nudi paket za generiranje PDF-a.

Izradite osnovni PDF dokument

Razmotrite sljedeći primjer koda koji pokazuje kako koristiti ovaj paket za stvaranje osnovnog PDF-a uz osnovni ulazni tekst.



paket glavni

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

funk glavni () {
pdf := fpdf . Novi ( 'P' , 'mm' , 'A4' , '' )
pdf . Dodaj stranicu ()
pdf . Postavi font ( 'Arial' , 'B' , 16 )
pdf . Ćelija ( 40 , 10 , 'To je sranje...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

U navedenom primjeru započinjemo s uvozom paketa koji su nam potrebni. U našem slučaju trebamo samo “fpdf” paket.

Zatim stvaramo novi PDF dokument pomoću funkcije fpdf.New() i specificiramo svojstva PDF-a kao što su orijentacija stranice, mjerna jedinica i veličina.

Zatim dodajemo novu stranicu pomoću funkcije AddPage().

Zatim nastavljamo s postavljanjem fonta i veličine za dokument pomoću funkcije SetFont(). Također dodajemo pravokutno područje, također poznato kao ćelija, s funkcijom Cell() za prikaz teksta.

Na kraju generiramo PDF i spremamo ga metodom OutputFileAndClose().

Dodajte slike

Također možemo dodati podršku za slike kao što je prikazano u sljedećem primjeru koda:

paket glavni

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

funk glavni () {
pdf := fpdf . Novi ( 'P' , 'mm' , 'A4' , '' )
pdf . Dodaj stranicu ()
pdf . Opcije slike ( 'linux-tux.png' , 10 , 10 , 40 , 0 , lažno , fpdf . Opcije slike { Vrsta slike : 'PNG' , ReadDpi : pravi }, 0 , '' )
pogriješiti := pdf . OutputFileAndClose ( 'primjer.pdf' )
ako pogriješiti != nula {
panika ( pogriješiti )
}
}

To bi trebalo uključivati ​​navedenu sliku u dokumentu.

Dokument na više stranica sa zaglavljima i podnožjima

Paket također podržava više stranica uključujući značajke kao što su zaglavlja i podnožja kao što je prikazano u sljedećem primjeru:

paket glavni

uvoz (
'strconv' // Uvoz strconv paketa

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

funk Zaglavlje ( pdf * fpdf . Fpdf ) {
pdf . Postavi font ( 'Arial' , 'B' , 12 )
pdf . Ćelija ( 0 , 10 , 'Zaglavlje stranice' )
pdf . Ln ( dvadeset )
}

funk podnožje ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - petnaest )
pdf . Postavi font ( 'Arial' , 'ja' , 8 )
pdf . Ćelija ( 0 , 10 , 'stranica' + strconv . utopio se ( pdf . Stranica br ()))
}

funk glavni () {
pdf := fpdf . Novi ( 'P' , 'mm' , 'A4' , '' )
pdf . PostaviHeaderFunc ( funk () { Zaglavlje ( pdf ) })
pdf . SetFooterFunc ( funk () { podnožje ( pdf ) })

pdf . Dodaj stranicu ()
pdf . Postavi font ( 'Arial' , '' , 12 )
za ja := 0 ; ja < 40 ; ja ++ {
pdf . Ćelija ( 0 , 10 , 'Ispis broja retka' + strconv . utopio se ( ja ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'višestranica.pdf' )
}

U ovom slučaju definiramo funkcije zaglavlja i podnožja kako bismo postavili sadržaj ovih odjeljaka PDF-a.

Zatim koristimo SetHeaderFunc i SetFooterFunc da odredimo funkcije kao zaglavlje i podnožje za dokument.

Konačno, koristimo petlju za stvaranje više redaka tekstualnih redaka što rezultira s više stranica. Rezultirajući PDF je sljedeći:

Eto ga!

Zaključak

U ovom vodiču naučili smo mnogo o generiranju PDF-a u Gou pomoću paketa “fpdf”. Ovaj paket dolazi prepun puno alata i značajki za generiranje PDF-ova. Provjerite dokumente da biste saznali više.