Generiranje PDF v Golangu (PDF)

Generiranje Pdf V Golangu Pdf



Portable Document Format ali na kratko PDF je izjemno priljubljen in vsestranski format datoteke, ki se uporablja v dokumentih. PDF je podprt v skoraj vseh platformah in sistemih, zaradi česar je odlična izbira za skupno rabo dokumentov.

Ko gre za razvijalce, lahko naletimo na primere, ko moramo programsko generirati dokumente PDF na podlagi vhodnih podatkov. Imate lahko na primer spletno aplikacijo, ki ustvari račune PDF na podlagi informacij o nakupu iz baze podatkov.

Na srečo je ekosistem Go ogromen in obstajajo orodja in funkcije za enostavno ustvarjanje PDF-jev brez ustvarjanja iz nič.







V tej vadnici se bomo naučili uporabljati paket »fpdf«, ki ponuja zmogljive funkcije za ustvarjanje dokumentov PDF na podlagi vhodnih podatkov.



Nastavitev okolja

Preden nadaljujemo, se prepričajte, da imate nameščena naslednja orodja:



  1. Prepričajte se, da imate v sistemu nameščen najnovejši prevajalnik Go
  2. Urejevalnik kode

Namestite Gofpdf

Ko imate nastavljen projekt, uporabite ukaz »go get« za namestitev paketa »fpdf«.





$ pojdi pridobi github . z / pojdi - pdf / fpdf

Ko je nameščen, lahko nadaljujemo in pokrivamo funkcije, ki jih ponuja paket za ustvarjanje PDF.

Ustvarite osnovni dokument PDF

Oglejte si naslednji primer kode, ki prikazuje, kako uporabiti ta paket za ustvarjanje osnovnega PDF-ja glede na osnovno vhodno besedilo.



paket glavni

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

funk glavni () {
pdf := fpdf . Novo ( 'P' , 'mm' , 'A4' , '' )
pdf . AddPage ()
pdf . SetFont ( 'Arial' , 'B' , 16 )
pdf . Celica ( 40 , 10 , 'To je bolečina v riti ...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

V danem primeru začnemo z uvozom paketov, ki jih potrebujemo. V našem primeru potrebujemo samo paket “fpdf”.

Nato ustvarimo nov dokument PDF s funkcijo fpdf.New() in določimo lastnosti PDF-ja, kot so usmerjenost strani, merska enota in velikost.

Nato dodamo novo stran s funkcijo AddPage().

Nato nadaljujemo z nastavitvijo pisave in velikosti dokumenta s funkcijo SetFont(). Dodamo tudi pravokotno območje, znano tudi kot celica, s funkcijo Cell() za prikaz besedila.

Na koncu ustvarimo PDF in ga shranimo z metodo OutputFileAndClose().

Dodajte slike

Dodamo lahko tudi podporo za slike, kot je prikazano v naslednji vzorčni kodi:

paket glavni

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

funk glavni () {
pdf := fpdf . Novo ( 'P' , 'mm' , 'A4' , '' )
pdf . AddPage ()
pdf . ImageOptions ( 'linux-tux.png' , 10 , 10 , 40 , 0 , lažno , fpdf . ImageOptions { ImageType : 'PNG' , ReadDpi : prav }, 0 , '' )
napaka := pdf . OutputFileAndClose ( 'primer.pdf' )
če napaka != nič {
panika ( napaka )
}
}

To mora vsebovati navedeno sliko v dokumentu.

Večstranski dokument z glavami in nogami

Paket podpira tudi več strani, vključno s funkcijami, kot so glave in noge, kot je prikazano v naslednjem primeru:

paket glavni

uvoz (
'strconv' // Uvozi paket strconv

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

funk glava ( pdf * fpdf . Fpdf ) {
pdf . SetFont ( 'Arial' , 'B' , 12 )
pdf . Celica ( 0 , 10 , 'Glava strani' )
pdf . Ln ( dvajset )
}

funk noga ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - petnajst )
pdf . SetFont ( 'Arial' , 'JAZ' , 8 )
pdf . Celica ( 0 , 10 , 'Stran' + strconv . utopljen ( pdf . stran št ()))
}

funk glavni () {
pdf := fpdf . Novo ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( funk () { glava ( pdf ) })
pdf . SetFooterFunc ( funk () { noga ( pdf ) })

pdf . AddPage ()
pdf . SetFont ( 'Arial' , '' , 12 )
za jaz := 0 ; jaz < 40 ; jaz ++ {
pdf . Celica ( 0 , 10 , 'Številka vrstice tiskanja' + strconv . utopljen ( jaz ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'večstranski.pdf' )
}

V tem primeru definiramo funkciji glave in noge za nastavitev vsebine teh odsekov PDF-ja.

Nato uporabimo SetHeaderFunc in SetFooterFunc, da določimo funkciji kot glavo in nogo dokumenta.

Nazadnje uporabimo zanko za ustvarjanje več vrstic besedilnih vrstic, kar povzroči več strani. Nastali PDF je naslednji:

Tukaj imaš!

Zaključek

V tej vadnici smo se naučili veliko o ustvarjanju PDF-jev v Go z uporabo paketa »fpdf«. Ta paket vsebuje veliko orodij in funkcij za ustvarjanje PDF-jev. Preverite dokumente, če želite izvedeti več.