การสร้าง PDF ใน Golang (PDF)

Kar Srang Pdf Ni Golang Pdf



Portable Document Format หรือเรียกสั้น ๆ ว่า PDF เป็นรูปแบบไฟล์ที่ได้รับความนิยมและใช้งานได้หลากหลายซึ่งใช้ในเอกสาร PDF ได้รับการสนับสนุนในเกือบทุกแพลตฟอร์มและระบบ ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการแชร์เอกสาร

เมื่อพูดถึงนักพัฒนา เราอาจเจอกรณีที่เราต้องสร้างเอกสาร PDF โดยทางโปรแกรมตามข้อมูลที่ป้อนเข้า ตัวอย่างเช่น คุณสามารถมีเว็บแอปที่สร้างใบแจ้งหนี้ PDF ตามข้อมูลการซื้อจากฐานข้อมูล

โชคดีที่ระบบนิเวศ Go มีขนาดใหญ่มากและมีเครื่องมือและฟีเจอร์ต่างๆ ในการสร้าง PDF ได้อย่างง่ายดายโดยไม่ต้องสร้างใหม่ตั้งแต่ต้น







ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้แพ็คเกจ “fpdf” ซึ่งมีฟีเจอร์อันทรงพลังในการสร้างเอกสาร PDF ตามข้อมูลที่ป้อนเข้า



การตั้งค่าสภาพแวดล้อม

ก่อนที่เราจะดำเนินการต่อ ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเครื่องมือต่อไปนี้:



  1. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งคอมไพเลอร์ Go ล่าสุดบนระบบของคุณ
  2. โปรแกรมแก้ไขโค้ด

ติดตั้ง Gofpdf

เมื่อคุณตั้งค่าโปรเจ็กต์แล้ว ให้ใช้คำสั่ง “go get” เพื่อติดตั้งแพ็คเกจ “fpdf”





$ ไป รับ GitHub . กับ / ไป - - ไฟล์ PDF / fpdf

เมื่อติดตั้งแล้ว เราสามารถดำเนินการต่อและครอบคลุมคุณสมบัติต่างๆ ที่มีอยู่ในแพ็คเกจสำหรับการสร้าง PDF

สร้างเอกสาร PDF พื้นฐาน

พิจารณาโค้ดตัวอย่างต่อไปนี้ที่สาธิตวิธีใช้แพ็คเกจนี้เพื่อสร้าง PDF พื้นฐานโดยระบุข้อความอินพุตพื้นฐาน



บรรจุุภัณฑ์ หลัก

นำเข้า (
'github.com/go-pdf/fpdf'
)

ฟังก์ชั่น หลัก () {
ไฟล์ PDF := fpdf . ใหม่ ( 'พี' , 'มม' , 'เอ4' , '' )
ไฟล์ PDF . เพิ่มหน้า ()
ไฟล์ PDF . ตั้งค่าแบบอักษร ( “อาเรียล” , 'บี' , 16 )
ไฟล์ PDF . เซลล์ ( 40 , 10 , “ปวดก้นจังเลย...” )
ไฟล์ PDF . ไฟล์เอาท์พุตและปิด ( 'ลอเร็ม.pdf' )
}

ในตัวอย่างที่กำหนด เราเริ่มต้นด้วยการนำเข้าแพ็คเกจที่เราต้องการ ในกรณีของเรา เราต้องการเพียงแพ็คเกจ “fpdf” เท่านั้น

ต่อไป เราจะสร้างเอกสาร PDF ใหม่โดยใช้ฟังก์ชัน fpdf.New() และระบุคุณสมบัติ PDF เช่น การวางแนวหน้า หน่วยวัด และขนาด

ต่อไป เราจะเพิ่มหน้าใหม่โดยใช้ฟังก์ชัน AddPage()

จากนั้นเราดำเนินการตั้งค่าแบบอักษรและขนาดสำหรับเอกสารโดยใช้ฟังก์ชัน SetFont() นอกจากนี้เรายังเพิ่มพื้นที่สี่เหลี่ยมหรือที่เรียกว่าเซลล์ด้วยฟังก์ชัน Cell() เพื่อแสดงข้อความ

สุดท้ายนี้ เราสร้าง PDF และบันทึกด้วยวิธี OutputFileAndClose()

เพิ่มรูปภาพ

นอกจากนี้เรายังสามารถเพิ่มการรองรับรูปภาพตามที่แสดงในโค้ดตัวอย่างต่อไปนี้:

บรรจุุภัณฑ์ หลัก

นำเข้า (
'github.com/go-pdf/fpdf'
)

ฟังก์ชั่น หลัก () {
ไฟล์ PDF := fpdf . ใหม่ ( 'พี' , 'มม' , 'เอ4' , '' )
ไฟล์ PDF . เพิ่มหน้า ()
ไฟล์ PDF . ตัวเลือกรูปภาพ ( 'linux-tux.png' , 10 , 10 , 40 , 0 , เท็จ , fpdf . ตัวเลือกรูปภาพ { ประเภทรูปภาพ : : 'พีเอ็นจี' , อ่านDpi : : จริง }, 0 , '' )
ผิดพลาด := ไฟล์ PDF . ไฟล์เอาท์พุตและปิด ( 'ตัวอย่าง.pdf' )
ถ้า ผิดพลาด != ไม่มี {
ตื่นตกใจ ( ผิดพลาด )
}
}

ซึ่งควรรวมรูปภาพที่ระบุลงในเอกสาร

เอกสารหลายหน้าพร้อมส่วนหัวและส่วนท้าย

แพ็คเกจนี้ยังรองรับหลายเพจรวมถึงฟีเจอร์ต่างๆ เช่น ส่วนหัวและส่วนท้าย ดังที่แสดงในตัวอย่างต่อไปนี้:

บรรจุุภัณฑ์ หลัก

นำเข้า (
'strconv' // นำเข้าแพ็คเกจ strconv

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

ฟังก์ชั่น หัวข้อ ( ไฟล์ PDF * fpdf . Fpdf ) {
ไฟล์ PDF . ตั้งค่าแบบอักษร ( “อาเรียล” , 'บี' , 12 )
ไฟล์ PDF . เซลล์ ( 0 , 10 , 'ส่วนหัวของหน้า' )
ไฟล์ PDF . แอล ( ยี่สิบ )
}

ฟังก์ชั่น ส่วนท้าย ( ไฟล์ PDF * fpdf . Fpdf ) {
ไฟล์ PDF . เซตวาย ( - - สิบห้า )
ไฟล์ PDF . ตั้งค่าแบบอักษร ( “อาเรียล” , 'ฉัน' , 8 )
ไฟล์ PDF . เซลล์ ( 0 , 10 , 'หน้าหนังสือ ' + strconv . จมน้ำตาย ( ไฟล์ PDF . หมายเลขหน้า ()))
}

ฟังก์ชั่น หลัก () {
ไฟล์ PDF := fpdf . ใหม่ ( 'พี' , 'มม' , 'เอ4' , '' )
ไฟล์ PDF . ตั้งค่า HeaderFunc ( ฟังก์ชั่น () { หัวข้อ ( ไฟล์ PDF ) })
ไฟล์ PDF . ตั้งค่า FooterFunc ( ฟังก์ชั่น () { ส่วนท้าย ( ไฟล์ PDF ) })

ไฟล์ PDF . เพิ่มหน้า ()
ไฟล์ PDF . ตั้งค่าแบบอักษร ( “อาเรียล” , '' , 12 )
สำหรับ ฉัน := 0 ; ฉัน < 40 ; ฉัน ++ {
ไฟล์ PDF . เซลล์ ( 0 , 10 , “พิมพ์หมายเลขบรรทัด” + strconv . จมน้ำตาย ( ฉัน ))
ไฟล์ PDF . แอล ( 12 )
}

ไฟล์ PDF . ไฟล์เอาท์พุตและปิด ( 'หลายหน้า.pdf' )
}

ในกรณีนี้ เรากำหนดฟังก์ชันส่วนหัวและส่วนท้ายเพื่อตั้งค่าเนื้อหาสำหรับส่วนเหล่านี้ของ PDF

จากนั้นเราใช้ SetHeaderFunc และ SetFooterFunc เพื่อระบุฟังก์ชันเป็นส่วนหัวและส่วนท้ายของเอกสาร

สุดท้ายนี้ เราใช้การวนซ้ำเพื่อสร้างบรรทัดข้อความหลายบรรทัดซึ่งส่งผลให้มีหลายหน้า ผลลัพธ์ PDF จะเป็นดังนี้:

ได้แล้ว!

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้มากมายเกี่ยวกับการสร้าง PDF ใน Go โดยใช้แพ็คเกจ “fpdf” แพ็คเกจนี้มาพร้อมกับเครื่องมือและคุณสมบัติมากมายในการสร้าง PDF ตรวจสอบเอกสารเพื่อเรียนรู้เพิ่มเติม