יצירת PDF בגולאנג (PDF)

Yzyrt Pdf Bgwl Ng Pdf



פורמט מסמכים נייד או בקיצור PDF הוא פורמט קובץ פופולרי ורב-תכליתי להפליא המשמש במסמכים. PDF נתמך כמעט בכל הפלטפורמות והמערכות, מה שהופך אותו לבחירה מצוינת לשיתוף המסמכים.

כשזה מגיע למפתחים, אנו עשויים להיתקל במקרים שבהם עלינו ליצור באופן תוכניתי את מסמכי ה-PDF על סמך נתוני קלט. לדוגמה, אתה יכול לקבל אפליקציית אינטרנט המפיקה את חשבוניות ה-PDF על סמך פרטי רכישה ממסד הנתונים.

למרבה המזל, המערכת האקולוגית של Go היא מסיבית ויש כלים ותכונות לביצוע יצירת PDF בקלות מבלי לבנות מאפס.







במדריך זה, נלמד כיצד להשתמש בחבילת 'fpdf' המספקת תכונות עוצמתיות להפקת מסמכי PDF על סמך נתוני קלט.



הגדרת סביבה

לפני שנמשיך, ודא שהכלים הבאים מותקנים:



  1. ודא שהמהדר האחרון של Go מותקן במערכת שלך
  2. עורך קוד

התקן את Gofpdf

לאחר שתגדיר את הפרויקט, השתמש בפקודה 'עבור קבל' כדי להתקין את חבילת 'fpdf'.





$ ללכת קבל github . עם / ללכת - pdf / fpdf

לאחר ההתקנה, נוכל להמשיך ולכסות את התכונות שמספקת החבילה ליצירת PDF.

צור מסמך PDF בסיסי

שקול את הקוד לדוגמה הבא המדגים כיצד להשתמש בחבילה זו כדי ליצור קובץ PDF בסיסי בהינתן טקסט קלט בסיסי.



חֲבִילָה רָאשִׁי

יְבוּא (
'github.com/go-pdf/fpdf'
)

func רָאשִׁי () {
pdf := fpdf . חָדָשׁ ( 'פ' , 'מ'מ' , 'A4' , '' )
pdf . הוסף עמוד ()
pdf . SetFont ( 'אריאל' , 'ב' , 16 )
pdf . תָא ( 40 , 10 , 'זה כאב בתחת...' )
pdf . OutputFileAndClose ( 'lorem.pdf' )
}

בדוגמה הנתונה, אנו מתחילים בייבוא ​​החבילות שאנו צריכים. במקרה שלנו, אנחנו צריכים רק את חבילת 'fpdf'.

לאחר מכן, אנו יוצרים מסמך PDF חדש באמצעות הפונקציה fpdf.New() ומציינים את מאפייני ה-PDF כגון כיוון העמוד, יחידת המידה והגודל.

לאחר מכן, אנו מוסיפים דף חדש באמצעות הפונקציה AddPage() .

לאחר מכן נמשיך להגדיר את הגופן והגודל עבור המסמך באמצעות הפונקציה SetFont() . אנו מוסיפים גם אזור מלבני, הידוע גם כתא, עם הפונקציה Cell() להצגת הטקסט.

לבסוף, אנו יוצרים את ה-PDF ושומרים אותו בשיטת OutputFileAndClose() .

הוסף את התמונות

אנו יכולים גם להוסיף תמיכה בתמונות כפי שמוצג בקוד הדוגמה הבא:

חֲבִילָה רָאשִׁי

יְבוּא (
'github.com/go-pdf/fpdf'
)

func רָאשִׁי () {
pdf := fpdf . חָדָשׁ ( 'פ' , 'מ'מ' , 'A4' , '' )
pdf . הוסף עמוד ()
pdf . אפשרויות תמונה ( 'linux-tux.png' , 10 , 10 , 40 , 0 , שֶׁקֶר , fpdf . אפשרויות תמונה { סוג תמונה : 'PNG' , ReadDpi : נָכוֹן }, 0 , '' )
לִטְעוֹת := pdf . OutputFileAndClose ( 'example.pdf' )
אם לִטְעוֹת != אֶפֶס {
בהלה ( לִטְעוֹת )
}
}

זה צריך לכלול את התמונה שצוינה למסמך.

מסמך מרובה עמודים עם כותרות עליונות ותחתונות

החבילה תומכת גם במספר דפים, כולל תכונות כגון כותרות עליונות ותחתונות כפי שמוצג בדוגמה הבאה:

חֲבִילָה רָאשִׁי

יְבוּא (
'strconv' // ייבא את חבילת strconv

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

func כּוֹתֶרֶת ( pdf * fpdf . Fpdf ) {
pdf . SetFont ( 'אריאל' , 'ב' , 12 )
pdf . תָא ( 0 , 10 , 'ראש הדף' )
pdf . Ln ( עשרים )
}

func כותרת תחתונה ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - חֲמֵשׁ עֶשׂרֵה )
pdf . SetFont ( 'אריאל' , 'אני' , 8 )
pdf . תָא ( 0 , 10 , 'עמוד ' + strconv . טָבוּעַ ( pdf . מס' עמוד ()))
}

func רָאשִׁי () {
pdf := fpdf . חָדָשׁ ( 'פ' , 'מ'מ' , 'A4' , '' )
pdf . SetHeaderFunc ( func () { כּוֹתֶרֶת ( pdf ) })
pdf . SetFooterFunc ( func () { כותרת תחתונה ( pdf ) })

pdf . הוסף עמוד ()
pdf . SetFont ( 'אריאל' , '' , 12 )
ל אני := 0 ; אני < 40 ; אני ++ {
pdf . תָא ( 0 , 10 , 'מספר קו הדפסה' + strconv . טָבוּעַ ( אני ))
pdf . Ln ( 12 )
}

pdf . OutputFileAndClose ( 'multipage.pdf' )
}

במקרה זה, אנו מגדירים פונקציות כותרת עליונה וכותרת תחתונה כדי להגדיר את התוכן עבור חלקים אלה של ה-PDF.

לאחר מכן אנו משתמשים ב-SetHeaderFunc וב-SetFooterFunc כדי לציין את הפונקציות ככותרת עליונה ותחתונה של המסמך.

לבסוף, אנו משתמשים בלולאה כדי ליצור שורות מרובות של שורות טקסט שמביאות למספר עמודים. ה-PDF המתקבל הוא כדלקמן:

הנה לך!

סיכום

במדריך זה, למדנו הרבה על יצירת PDF ב-Go באמצעות חבילת 'fpdf'. חבילה זו מגיעה עם המון כלים ותכונות ליצירת קובצי PDF. בדוק את המסמכים כדי ללמוד עוד.