Pembuatan PDF di Golang (PDF)

Pembuatan Pdf Di Golang Pdf



Portable Document Format atau disingkat PDF adalah format file yang sangat populer dan serbaguna yang digunakan dalam dokumen. PDF didukung di hampir semua platform dan sistem, menjadikannya pilihan tepat untuk berbagi dokumen.

Ketika berbicara tentang pengembang, kita mungkin menemukan contoh di mana kita perlu membuat dokumen PDF secara terprogram berdasarkan data masukan. Misalnya, Anda dapat memiliki aplikasi web yang menghasilkan faktur PDF berdasarkan informasi pembelian dari database.

Untungnya, ekosistem Go sangat besar dan terdapat alat serta fitur untuk melakukan pembuatan PDF dengan mudah tanpa membuat dari awal.







Dalam tutorial ini, kita akan mempelajari cara menggunakan paket “fpdf” yang menyediakan fitur canggih untuk menghasilkan dokumen PDF berdasarkan data masukan.



Pengaturan Lingkungan

Sebelum melanjutkan, pastikan Anda telah menginstal alat berikut:



  1. Pastikan Anda telah menginstal kompiler Go terbaru di sistem Anda
  2. Editor kode

Instal Gofpdf

Setelah Anda menyiapkan proyek, gunakan perintah “go get” untuk menginstal paket “fpdf”.





$ pergi dapatkan github . dengan / pergi - pdf / fpdf

Setelah terinstal, kita dapat melanjutkan dan membahas fitur-fitur yang disediakan oleh paket untuk pembuatan PDF.

Buat Dokumen PDF Dasar

Pertimbangkan contoh kode berikut yang menunjukkan cara menggunakan paket ini untuk membuat PDF dasar dengan teks masukan dasar.



kemasan utama

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

fungsi utama () {
pdf := fpdf . Baru ( 'P' , 'mm' , 'A4' , '' )
pdf . Tambah halaman ()
pdf . Set Font ( 'Arial' , 'B' , 16 )
pdf . Sel ( 40 , 10 , 'Sungguh menyebalkan...' )
pdf . OutputFileDanTutup ( 'lorem.pdf' )
}

Dalam contoh yang diberikan, kita mulai dengan mengimpor paket yang kita perlukan. Dalam kasus kami, kami hanya memerlukan paket “fpdf”.

Selanjutnya, kita membuat dokumen PDF baru menggunakan fungsi fpdf.New() dan menentukan properti PDF seperti orientasi halaman, satuan ukuran, dan ukuran.

Selanjutnya, kita menambahkan halaman baru menggunakan fungsi AddPage().

Kami kemudian melanjutkan untuk mengatur font dan ukuran dokumen menggunakan fungsi SetFont(). Kami juga menambahkan area persegi panjang, juga dikenal sebagai sel, dengan fungsi Cell() untuk menampilkan teks.

Terakhir, kami membuat PDF dan menyimpannya dengan metode OutputFileAndClose().

Tambahkan Gambar

Kita juga dapat menambahkan dukungan untuk gambar seperti yang ditunjukkan pada contoh kode berikut:

kemasan utama

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

fungsi utama () {
pdf := fpdf . Baru ( 'P' , 'mm' , 'A4' , '' )
pdf . Tambah halaman ()
pdf . Opsi Gambar ( 'linux-tux.png' , 10 , 10 , 40 , 0 , PALSU , fpdf . Opsi Gambar { Tipe Gambar : 'PNG' , BacaDpi : BENAR }, 0 , '' )
berbuat salah := pdf . OutputFileDanTutup ( 'contoh.pdf' )
jika berbuat salah != nol {
panik ( berbuat salah )
}
}

Ini harus menyertakan gambar tertentu ke dalam dokumen.

Dokumen Multi-Halaman dengan Header dan Footer

Paket ini juga mendukung banyak halaman termasuk fitur seperti header dan footer seperti yang ditunjukkan pada contoh berikut:

kemasan utama

impor (
'strkonv' // Impor paket strconv

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

fungsi tajuk ( pdf * fpdf . Fpdf ) {
pdf . Set Font ( 'Arial' , 'B' , 12 )
pdf . Sel ( 0 , 10 , 'Kepala halaman' )
pdf . Ln ( dua puluh )
}

fungsi catatan kaki ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - limabelas )
pdf . Set Font ( 'Arial' , 'SAYA' , 8 )
pdf . Sel ( 0 , 10 , 'Halaman ' + strkonv . tenggelam ( pdf . Nomor Halaman ()))
}

fungsi utama () {
pdf := fpdf . Baru ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( fungsi () { tajuk ( pdf ) })
pdf . SetFooterFunc ( fungsi () { catatan kaki ( pdf ) })

pdf . Tambah halaman ()
pdf . Set Font ( 'Arial' , '' , 12 )
untuk Saya := 0 ; Saya < 40 ; Saya ++ {
pdf . Sel ( 0 , 10 , 'Mencetak nomor baris' + strkonv . tenggelam ( Saya ))
pdf . Ln ( 12 )
}

pdf . OutputFileDanTutup ( 'multi halaman.pdf' )
}

Dalam hal ini, kami mendefinisikan fungsi header dan footer untuk mengatur konten bagian PDF ini.

Kami kemudian menggunakan SetHeaderFunc dan SetFooterFunc untuk menentukan fungsi sebagai header dan footer untuk dokumen tersebut.

Terakhir, kami menggunakan loop untuk membuat beberapa baris baris teks yang menghasilkan banyak halaman. PDF yang dihasilkan adalah sebagai berikut:

Itu dia!

Kesimpulan

Dalam tutorial ini, kita belajar banyak tentang pembuatan PDF di Go menggunakan paket “fpdf”. Paket ini hadir dengan banyak alat dan fitur untuk menghasilkan PDF. Periksa dokumen untuk mempelajari lebih lanjut.