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:
- Pastikan Anda telah menginstal kompiler Go terbaru di sistem Anda
- 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 utamaimpor (
'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 utamaimpor (
'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.