Cipta & Urus Dokumen PDF melalui Free Go API
Perpustakaan Go yang memberi pembangun perisian keupayaan untuk mencipta, mengedit, menukar & memanipulasi Dokumen PDF.
Gofpdf ialah perpustakaan Go Source terbuka yang memberikan pembangun perisian keupayaan untuk menjana dan mengubah suai fail PDF tanpa sebarang kebergantungan luaran. Perpustakaan ini menyokong penjanaan dan manipulasi dokumen PDF dengan tahap teks, lukisan dan imej yang tinggi. Pustaka menyokong sepenuhnya fon TrueType UTF-8 dan bahasa "kanan ke kiri". Ia menyokong terjemahan automatik rune UTF-8 kepada pengekodan halaman kod untuk bahasa yang mempunyai kurang daripada 256 glyph.
PDF ialah salah satu format fail yang paling banyak digunakan di Dunia untuk menyimpan dan berkongsi maklumat di seluruh dunia. Pustaka gofpdf menyokong beberapa ciri penting untuk pemprosesan dokumen PDF, seperti menjana dan mengedit dokumen PDF, memasukkan imej (imej JPEG, PNG, GIF, TIFF dan SVG) ke PDF, Memasukkan halaman baharu dalam fail PDF sedia ada, Pengepala halaman dan pengurusan pengaki, pemisah halaman automatik, sokongan pautan dalaman dan luaran, pemisah baris dan justifikasi teks, dan banyak lagi.
Bermula dengan gofpdf
Cara yang disyorkan untuk memasang gofpdf adalah dengan menggunakan GitHub. Untuk memasang gofpdf pada sistem anda, sila jalankan arahan berikut
Pasang gofpdf melalui GitHub
go get https://github.com/jung-kurt/gofpdf
Untuk kemas kini terkini sila jalankan arahan berikut:
go get -u -v github.com/jung-kurt/gofpdf/...
Penciptaan & Pemprosesan PDF melalui Perpustakaan Go
perpustakaan gofpdf menyediakan fungsi untuk penciptaan dokumen PDF serta penyuntingan dalam aplikasi Go. Ia membolehkan untuk membuat dokumen PDF dengan tahap sokongan yang tinggi untuk teks, lukisan dan imej. Selepas membuat dokumen, anda boleh memasukkan teks dan imej dengan mudah, memasukkan halaman baharu, Lapisan, Templat, Kod Bar, dsb. dengan hanya beberapa arahan mudah. Anda juga boleh menjana dokumen PDF dengan berbilang lajur atau mengikut mod Landskap dengan imej
Jana Fail PDF Mudah melalui API Go
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "B", 16)
pdf.Cell(40, 10, "Hello, world")
err := pdf.OutputFileAndClose("hello.pdf")
Penambahan imej pada PDF melalui Go API
Imej adalah bahagian yang sangat penting dalam menyampaikan lebih banyak maklumat dengan cara yang lebih baik dan lebih menyeluruh. Ia sentiasa menambah nilai pada bahagian kandungan. API gofpdf sumber terbuka membolehkan pengaturcara memasukkan imej pilihan mereka sendiri ke dalam fail PDF di dalam aplikasi mereka. Ia menyediakan sokongan untuk format imej yang sangat popular seperti JPEG, PNG, GIF, TIFF dan imej SVG laluan asas sahaja. Anda juga boleh mengubah suai imej mengikut keperluan anda sendiri.
Tambahkan Imej pada Halaman PDF melalui Go API
func ExampleFpdf_Image() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "", 11)
pdf.Image(example.ImageFile("logo.png"), 10, 10, 30, 0, false, "", 0, "")
pdf.Text(50, 20, "logo.png")
pdf.Image(example.ImageFile("logo.gif"), 10, 40, 30, 0, false, "", 0, "")
pdf.Text(50, 50, "logo.gif")
pdf.Image(example.ImageFile("logo-gray.png"), 10, 70, 30, 0, false, "", 0, "")
pdf.Text(50, 80, "logo-gray.png")
pdf.Image(example.ImageFile("logo-rgb.png"), 10, 100, 30, 0, false, "", 0, "")
pdf.Text(50, 110, "logo-rgb.png")
pdf.Image(example.ImageFile("logo.jpg"), 10, 130, 30, 0, false, "", 0, "")
pdf.Text(50, 140, "logo.jpg")
fileStr := example.Filename("Fpdf_Image")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_Image.pdf
}
Menambah Lapisan pada Dokumen PDF
Penggunaan lapisan dalam dokumen PDF memberi anda keupayaan untuk mengatur dan memaparkan kandungan dengan cara yang lebih baik. Ciri ini membolehkan pengguna menjadikan kandungan kelihatan atau tidak kelihatan atau menambah butiran pada rajah dalam dokumen PDF. Pustaka gofpdf menyokong sepenuhnya penambahan dan pengurusan lapisan dalam fail PDF. Anda boleh dengan mudah mentakrifkan lapisan, mengawal keterlihatan lapisan secara interaktif atau membuka anak tetingkap lapisan dalam pemapar PDF.
Lihat dan Tambah Lapisan pada Fail PDF dalam Go Apps
func ExampleFpdf_AddLayer() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "", 15)
pdf.Write(8, "This line doesn't belong to any layer.\n")
// Define layers
l1 := pdf.AddLayer("Layer 1", true)
l2 := pdf.AddLayer("Layer 2", true)
// Open layer pane in PDF viewer
pdf.OpenLayerPane()
// First layer
pdf.BeginLayer(l1)
pdf.Write(8, "This line belongs to layer 1.\n")
pdf.EndLayer()
// Second layer
pdf.BeginLayer(l2)
pdf.Write(8, "This line belongs to layer 2.\n")
pdf.EndLayer()
// First layer again
pdf.BeginLayer(l1)
pdf.Write(8, "This line belongs to layer 1 again.\n")
pdf.EndLayer()
fileStr := example.Filename("Fpdf_AddLayer")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_AddLayer.pdf
}
Tambahkan Pengepala, Pengaki & Pemisah Halaman pada PDF
dokumen dalam apl Go mereka. Ciri pengepala dan pengaki memberikan setiap dokumen PDF sentuhan peribadi dengan menggunakan nombor halaman, label teks atau imej pada fail PDF. Pustaka menyokong sepenuhnya mencipta, mengedit dan mengurus pengepala dan pengaki dalam dokumen PDF anda. Anda juga boleh menggunakan ciri seperti justifikasi baris, pembungkusan perkataan dan pemisah halaman, dsb.
Penambahan Pengepala & Pengaki pada PDF melalui Go
func ExampleFpdf_AddPage() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.SetTopMargin(30)
pdf.SetHeaderFuncMode(func() {
pdf.Image(example.ImageFile("logo.png"), 10, 6, 30, 0, false, "", 0, "")
pdf.SetY(5)
pdf.SetFont("Arial", "B", 15)
pdf.Cell(80, 0, "")
pdf.CellFormat(30, 10, "Title", "1", 0, "C", false, 0, "")
pdf.Ln(20)
}, true)
pdf.SetFooterFunc(func() {
pdf.SetY(-15)
pdf.SetFont("Arial", "I", 8)
pdf.CellFormat(0, 10, fmt.Sprintf("Page %d/{nb}", pdf.PageNo()),
"", 0, "C", false, 0, "")
})
pdf.AliasNbPages("")
pdf.AddPage()
pdf.SetFont("Times", "", 12)
for j := 1; j <= 40; j++ {
pdf.CellFormat(0, 10, fmt.Sprintf("Printing line number %d", j),
"", 1, "", false, 0, "")
}
fileStr := example.Filename("Fpdf_AddPage")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_AddPage.pdf
}