PDF ģenerēšana Golangā (PDF)

Pdf Generesana Golanga Pdf



Portable Document Format jeb saīsināti PDF ir neticami populārs un daudzpusīgs failu formāts, ko izmanto dokumentos. PDF tiek atbalstīts gandrīz visās platformās un sistēmās, padarot to par lielisku izvēli dokumentu koplietošanai.

Runājot par izstrādātājiem, mēs varam saskarties ar gadījumiem, kad mums ir programmatiski jāģenerē PDF dokumenti, pamatojoties uz ievades datiem. Piemēram, jums var būt tīmekļa lietotne, kas ģenerē PDF rēķinus, pamatojoties uz pirkuma informāciju no datu bāzes.

Par laimi Go ekosistēma ir milzīga, un ir pieejami rīki un līdzekļi, kas ļauj viegli izveidot PDF, neveidojot tos no nulles.







Šajā apmācībā mēs uzzināsim, kā izmantot “fpdf” pakotni, kas nodrošina jaudīgus līdzekļus PDF dokumentu ģenerēšanai, pamatojoties uz ievades datiem.



Vides iestatīšana

Pirms turpināt, pārliecinieties, vai ir instalēti šādi rīki:



  1. Pārliecinieties, vai jūsu sistēmā ir instalēts jaunākais Go kompilators
  2. Koda redaktors

Instalējiet Gofpdf

Kad esat iestatījis projektu, izmantojiet komandu “go get”, lai instalētu “fpdf” pakotni.





$ aiziet iegūstiet github . ar / aiziet - pdf / fpdf

Pēc instalēšanas mēs varam turpināt un aptvert pakotnes nodrošinātās funkcijas PDF ģenerēšanai.

Izveidojiet pamata PDF dokumentu

Apsveriet šo koda piemēru, kas parāda, kā izmantot šo pakotni, lai izveidotu pamata PDF, izmantojot pamata ievades tekstu.



iepakojums galvenais

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

func galvenais () {
pdf := fpdf . Jauns ( 'P' , 'mm' , 'A4' , '' )
pdf . Pievienot lapu ()
pdf . SetFont ( 'Arial' , 'B' , 16 )
pdf . Šūna ( 40 , 10 , 'Tās ir sāpes dupsī...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

Dotajā piemērā mēs sākam ar nepieciešamo pakotņu importēšanu. Mūsu gadījumā mums ir nepieciešama tikai “fpdf” pakotne.

Pēc tam mēs izveidojam jaunu PDF dokumentu, izmantojot funkciju fpdf.New() un norādām PDF rekvizītus, piemēram, lapas orientāciju, mērvienību un izmēru.

Pēc tam mēs pievienojam jaunu lapu, izmantojot funkciju AddPage().

Pēc tam mēs turpinām iestatīt dokumenta fontu un izmēru, izmantojot funkciju SetFont(). Mēs pievienojam arī taisnstūra apgabalu, kas pazīstams arī kā šūna, ar funkciju Cell(), lai parādītu tekstu.

Visbeidzot, mēs ģenerējam PDF un saglabājam to, izmantojot OutputFileAndClose() metodi.

Pievienojiet attēlus

Mēs varam arī pievienot atbalstu attēliem, kā parādīts šajā koda piemērā:

iepakojums galvenais

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

func galvenais () {
pdf := fpdf . Jauns ( 'P' , 'mm' , 'A4' , '' )
pdf . Pievienot lapu ()
pdf . Attēlu opcijas ( 'linux-tux.png' , 10 , 10 , 40 , 0 , viltus , fpdf . Attēlu opcijas { Attēla veids : 'PNG' , ReadDpi : taisnība }, 0 , '' )
kļūda := pdf . OutputFileAndClose ( 'example.pdf' )
ja kļūda != nulle {
panika ( kļūda )
}
}

Tam jāietver dokumentā norādītais attēls.

Vairāku lappušu dokuments ar galvenēm un kājenēm

Pakotne atbalsta arī vairākas lapas, tostarp tādas funkcijas kā galvenes un kājenes, kā parādīts šajā piemērā:

iepakojums galvenais

imports (
'strconv' // Importējiet pakotni strconv

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

func galvene ( pdf * fpdf . Fpdf ) {
pdf . SetFont ( 'Arial' , 'B' , 12 )
pdf . Šūna ( 0 , 10 , 'Lapas galvene' )
pdf . Ln ( divdesmit )
}

func kājene ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - piecpadsmit )
pdf . SetFont ( 'Arial' , 'es' , 8 )
pdf . Šūna ( 0 , 10 , 'Lappuse ' + strconv . noslīka ( pdf . Lapas Nr ()))
}

func galvenais () {
pdf := fpdf . Jauns ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( func () { galvene ( pdf ) })
pdf . SetFooterFunc ( func () { kājene ( pdf ) })

pdf . Pievienot lapu ()
pdf . SetFont ( 'Arial' , '' , 12 )
priekš i := 0 ; i < 40 ; i ++ {
pdf . Šūna ( 0 , 10 , 'Drukāšanas līnijas numurs' + strconv . noslīka ( i ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'multipage.pdf' )
}

Šajā gadījumā mēs definējam galvenes un kājenes funkcijas, lai iestatītu saturu šīm PDF faila sadaļām.

Pēc tam mēs izmantojam SetHeaderFunc un SetFooterFunc, lai norādītu funkcijas kā dokumenta galveni un kājeni.

Visbeidzot, mēs izmantojam cilpu, lai izveidotu vairākas teksta rindiņas, kas rada vairākas lapas. Rezultātā iegūtais PDF ir šāds:

Tur jums tas ir!

Secinājums

Šajā apmācībā mēs daudz uzzinājām par PDF ģenerēšanu programmā Go, izmantojot “fpdf” pakotni. Šajā pakotnē ir daudz rīku un funkciju PDF failu ģenerēšanai. Lai uzzinātu vairāk, pārbaudiet dokumentus.