PDF-i loomine Golangis (PDF)

Pdf I Loomine Golangis Pdf



Portable Document Format ehk lühidalt PDF on uskumatult populaarne ja mitmekülgne failivorming, mida dokumentides kasutatakse. PDF-i toetavad peaaegu kõik platvormid ja süsteemid, mistõttu on see suurepärane valik dokumentide jagamiseks.

Kui rääkida arendajatest, võime kohata juhtumeid, kus peame sisendandmete põhjal PDF-dokumendid programmiliselt genereerima. Näiteks võib teil olla veebirakendus, mis genereerib andmebaasi ostuteabe põhjal PDF-arved.

Õnneks on Go ökosüsteem tohutu ning seal on tööriistu ja funktsioone, mis võimaldavad hõlpsalt luua PDF-i ilma nullist üles ehitamata.







Selles õpetuses õpime kasutama paketti 'fpdf', mis pakub sisendandmete põhjal PDF-dokumentide genereerimiseks võimsaid funktsioone.



Keskkonna seadistamine

Enne jätkamist veenduge, et olete installinud järgmised tööriistad:



  1. Veenduge, et teie süsteemi oleks installitud uusim Go kompilaator
  2. Koodiredaktor

Installige Gofpdf

Kui olete projekti seadistanud, kasutage paketi 'fpdf' installimiseks käsku 'go get'.





$ mine hankige github . koos / mine - pdf / fpdf

Pärast installimist saame jätkata ja katta PDF-i genereerimiseks paketi pakutavad funktsioonid.

Looge põhiline PDF-dokument

Mõelge järgmisele näitekoodile, mis näitab, kuidas seda paketti kasutada põhilise sisendtekstiga PDF-i loomiseks.



pakett peamine

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

func peamine () {
pdf := fpdf . Uus ( 'P' , 'mm' , 'A4' , '' )
pdf . Lisa leht ()
pdf . Määra Font ( 'Arial' , 'B' , 16 )
pdf . Kamber ( 40 , 10 , 'See on valus...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

Antud näites alustame vajalike pakettide importimisega. Meie puhul vajame ainult paketti 'fpdf'.

Järgmisena loome funktsiooni fpdf.New() abil uue PDF-dokumendi ja määrame PDF-i atribuudid, nagu lehekülje orientatsioon, mõõtühik ja suurus.

Järgmisena lisame funktsiooni AddPage() abil uue lehe.

Seejärel jätkame funktsiooni SetFont() abil dokumendi fondi ja suuruse määramist. Lisame teksti kuvamiseks funktsiooniga Cell() ka ristkülikukujulise ala, tuntud ka kui lahter.

Lõpuks genereerime PDF-i ja salvestame selle OutputFileAndClose() meetodiga.

Lisage pildid

Saame lisada ka piltide toe, nagu on näidatud järgmises näitekoodis:

pakett peamine

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

func peamine () {
pdf := fpdf . Uus ( 'P' , 'mm' , 'A4' , '' )
pdf . Lisa leht ()
pdf . Pildivalikud ( 'linux-tux.png' , 10 , 10 , 40 , 0 , vale , fpdf . Pildivalikud { Pilditüüp : 'PNG' , ReadDpi : tõsi }, 0 , '' )
eks := pdf . OutputFileAndClose ( 'example.pdf' )
kui eks != null {
paanika ( eks )
}
}

See peaks sisaldama dokumendile määratud kujutist.

Päiste ja jalustega mitmeleheküljeline dokument

Pakett toetab ka mitut lehte, sealhulgas funktsioone, nagu päised ja jalused, nagu on näidatud järgmises näites:

pakett peamine

importida (
'strconv' // Importige pakett strconv

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

func päis ( pdf * fpdf . Fpdf ) {
pdf . Määra Font ( 'Arial' , 'B' , 12 )
pdf . Kamber ( 0 , 10 , 'Lehe päis' )
pdf . Ln ( kakskümmend )
}

func jalus ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - viisteist )
pdf . Määra Font ( 'Arial' , 'mina' , 8 )
pdf . Kamber ( 0 , 10 , 'Leht' + strconv . uppus ( pdf . Lehekülje nr ()))
}

func peamine () {
pdf := fpdf . Uus ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( func () { päis ( pdf ) })
pdf . SetFooterFunc ( func () { jalus ( pdf ) })

pdf . Lisa leht ()
pdf . Määra Font ( 'Arial' , '' , 12 )
jaoks i := 0 ; i < 40 ; i ++ {
pdf . Kamber ( 0 , 10 , 'Prindirea number' + strconv . uppus ( i ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'multipage.pdf' )
}

Sel juhul määratleme päise ja jaluse funktsioonid, et määrata nende PDF-i jaotiste sisu.

Seejärel kasutame funktsioone SetHeaderFunc ja SetFooterFunc, et määrata funktsioonid dokumendi päise ja jalusena.

Lõpuks kasutame tsüklit, et luua mitu tekstirida, mille tulemuseks on mitu lehekülge. Saadud PDF on järgmine:

Siin on see!

Järeldus

Selles õpetuses õppisime palju PDF-i genereerimise kohta Go's, kasutades paketti 'fpdf'. See pakett sisaldab palju tööriistu ja funktsioone PDF-ide loomiseks. Lisateabe saamiseks vaadake dokumente.