گولانگ میں پی ڈی ایف جنریشن (پی ڈی ایف)

Gwlang My Py Y Ayf Jnryshn Py Y Ayf



پورٹ ایبل دستاویز فارمیٹ یا مختصر کے لیے پی ڈی ایف ایک ناقابل یقین حد تک مقبول اور ورسٹائل فائل فارمیٹ ہے جو دستاویزات میں استعمال ہوتا ہے۔ پی ڈی ایف کو تقریباً تمام پلیٹ فارمز اور سسٹمز میں تعاون حاصل ہے، جو اسے دستاویزات کے اشتراک کے لیے ایک بہترین انتخاب بناتا ہے۔

جب بات ڈویلپرز کی ہو، تو ہم ایسے واقعات کو دیکھ سکتے ہیں جہاں ہمیں ان پٹ ڈیٹا کی بنیاد پر پی ڈی ایف دستاویزات کو پروگرام کے مطابق بنانے کی ضرورت ہوتی ہے۔ مثال کے طور پر، آپ کے پاس ایک ویب ایپ ہو سکتی ہے جو ڈیٹا بیس سے خریداری کی معلومات کی بنیاد پر پی ڈی ایف انوائسز تیار کرتی ہے۔

خوش قسمتی سے، گو ایکو سسٹم بہت بڑا ہے اور پی ڈی ایف جنریشن کو شروع سے تعمیر کیے بغیر آسانی کے ساتھ انجام دینے کے لیے ٹولز اور خصوصیات موجود ہیں۔







اس ٹیوٹوریل میں، ہم 'fpdf' پیکیج کو استعمال کرنے کا طریقہ سیکھیں گے جو ان پٹ ڈیٹا کی بنیاد پر پی ڈی ایف دستاویزات تیار کرنے کے لیے طاقتور خصوصیات فراہم کرتا ہے۔



ماحولیاتی سیٹ اپ

اس سے پہلے کہ ہم آگے بڑھیں، یقینی بنائیں کہ آپ کے پاس درج ذیل ٹولز انسٹال ہیں:



  1. یقینی بنائیں کہ آپ کے سسٹم پر تازہ ترین گو کمپائلر انسٹال ہے۔
  2. ایک کوڈ ایڈیٹر

Gofpdf انسٹال کریں۔

ایک بار جب آپ اپنا پروجیکٹ سیٹ اپ کرلیں تو، 'fpdf' پیکیج کو انسٹال کرنے کے لیے 'go get' کمانڈ استعمال کریں۔





$ جاؤ گیتھب حاصل کریں۔ . کے ساتھ / جاؤ - پی ڈی ایف / fpdf

انسٹال ہونے کے بعد، ہم پی ڈی ایف جنریشن کے لیے پیکج کے ذریعے فراہم کردہ خصوصیات کو آگے بڑھا سکتے ہیں اور کور کر سکتے ہیں۔

ایک بنیادی پی ڈی ایف دستاویز بنائیں

مندرجہ ذیل مثال کے کوڈ پر غور کریں جو یہ ظاہر کرتا ہے کہ اس پیکیج کو کس طرح استعمال کرنا ہے ایک بنیادی پی ڈی ایف بنانے کے لیے جس میں ایک بنیادی ان پٹ ٹیکسٹ دیا جائے۔



پیکج مرکزی

درآمد (
'github.com/go-pdf/fpdf'
)

func مرکزی () {
پی ڈی ایف := fpdf . نئی ( 'پی' ، 'ملی میٹر' ، 'A4' ، '' )
پی ڈی ایف . ایڈ پیج ()
پی ڈی ایف . سیٹ فونٹ ( 'ایریل' ، 'B' ، 16 )
پی ڈی ایف . سیل ( 40 ، 10 ، 'پچھواڑے میں درد ہے...' )
پی ڈی ایف . آؤٹ پٹ فائل اور بند ( 'lorem.pdf' )
}

دی گئی مثال میں، ہم ان پیکجوں کو درآمد کرکے شروع کرتے ہیں جن کی ہمیں ضرورت ہے۔ ہمارے معاملے میں، ہمیں صرف 'fpdf' پیکیج کی ضرورت ہے۔

اس کے بعد، ہم fpdf.New() فنکشن کا استعمال کرتے ہوئے ایک نیا پی ڈی ایف دستاویز بناتے ہیں اور پی ڈی ایف کی خصوصیات جیسے صفحہ کی سمت بندی، پیمائش کی اکائی اور سائز کی وضاحت کرتے ہیں۔

اگلا، ہم AddPage() فنکشن کا استعمال کرتے ہوئے ایک نیا صفحہ شامل کرتے ہیں۔

پھر ہم SetFont() فنکشن کا استعمال کرتے ہوئے دستاویز کے لیے فونٹ اور سائز سیٹ کرنے کے لیے آگے بڑھتے ہیں۔ ہم متن کو ظاہر کرنے کے لیے Cell() فنکشن کے ساتھ ایک مستطیل علاقہ بھی شامل کرتے ہیں، جسے سیل بھی کہا جاتا ہے۔

آخر میں، ہم پی ڈی ایف تیار کرتے ہیں اور اسے OutputFileAndClose() طریقہ سے محفوظ کرتے ہیں۔

امیجز شامل کریں۔

ہم تصویروں کے لیے ایک سپورٹ بھی شامل کر سکتے ہیں جیسا کہ درج ذیل مثال کے کوڈ میں دکھایا گیا ہے:

پیکج مرکزی

درآمد (
'github.com/go-pdf/fpdf'
)

func مرکزی () {
پی ڈی ایف := fpdf . نئی ( 'پی' ، 'ملی میٹر' ، 'A4' ، '' )
پی ڈی ایف . ایڈ پیج ()
پی ڈی ایف . امیج آپشنز ( 'linux-tux.png' ، 10 ، 10 ، 40 ، 0 ، جھوٹا ، fpdf . امیج آپشنز { امیج کی قسم : 'PNG' ، ReadDpi : سچ 0 ، '' )
غلطی := پی ڈی ایف . آؤٹ پٹ فائل اور بند ( 'example.pdf' )
اگر غلطی != صفر {
خوف و ہراس ( غلطی )
}
}

اس میں دستاویز میں مخصوص تصویر شامل ہونی چاہیے۔

ہیڈر اور فوٹرز کے ساتھ ملٹی پیج دستاویز

یہ پیکیج متعدد صفحات کو بھی سپورٹ کرتا ہے جس میں ہیڈر اور فوٹر جیسی خصوصیات شامل ہیں جیسا کہ درج ذیل مثال میں دکھایا گیا ہے۔

پیکج مرکزی

درآمد (
'strconv' // strconv پیکیج درآمد کریں۔

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

func ہیڈر ( پی ڈی ایف * fpdf . ایف پی ڈی ایف ) {
پی ڈی ایف . سیٹ فونٹ ( 'ایریل' ، 'B' ، 12 )
پی ڈی ایف . سیل ( 0 ، 10 ، 'صفحہ کا ہیڈر' )
پی ڈی ایف . Ln ( بیس )
}

func فوٹر ( پی ڈی ایف * fpdf . ایف پی ڈی ایف ) {
پی ڈی ایف . سیٹ وائی ( - پندرہ )
پی ڈی ایف . سیٹ فونٹ ( 'ایریل' ، 'میں' ، 8 )
پی ڈی ایف . سیل ( 0 ، 10 ، 'صفحہ' + strconv . ڈوب گیا ( پی ڈی ایف . صفحہ نمبر ()))
}

func مرکزی () {
پی ڈی ایف := fpdf . نئی ( 'پی' ، 'ملی میٹر' ، 'A4' ، '' )
پی ڈی ایف . SetHeaderFunc ( func () { ہیڈر ( پی ڈی ایف ) })
پی ڈی ایف . سیٹ فوٹر فنک ( func () { فوٹر ( پی ڈی ایف ) })

پی ڈی ایف . ایڈ پیج ()
پی ڈی ایف . سیٹ فونٹ ( 'ایریل' ، '' ، 12 )
کے لیے میں := 0 ; میں < 40 ; میں ++ {
پی ڈی ایف . سیل ( 0 ، 10 ، 'پرنٹنگ لائن نمبر' + strconv . ڈوب گیا ( میں ))
پی ڈی ایف . Ln ( 12 )
}

پی ڈی ایف . آؤٹ پٹ فائل اور بند ( 'multipage.pdf' )
}

اس صورت میں، ہم پی ڈی ایف کے ان حصوں کے مواد کو ترتیب دینے کے لیے ایک ہیڈر اور فوٹر کے افعال کی وضاحت کرتے ہیں۔

اس کے بعد ہم SetHeaderFunc اور SetFooterFunc کو دستاویز کے لیے ہیڈر اور فوٹر کے بطور فنکشن کی وضاحت کرنے کے لیے استعمال کرتے ہیں۔

آخر میں، ہم ٹیکسٹ لائنوں کی متعدد لائنیں بنانے کے لیے ایک لوپ کا استعمال کرتے ہیں جس کے نتیجے میں متعدد صفحات بنتے ہیں۔ نتیجے میں پی ڈی ایف درج ذیل ہے:

وہاں آپ کے پاس ہے!

نتیجہ

اس ٹیوٹوریل میں، ہم نے 'fpdf' پیکیج کا استعمال کرتے ہوئے Go میں PDF جنریشن کے بارے میں بہت کچھ سیکھا۔ یہ پیکیج پی ڈی ایف بنانے کے لیے بہت سارے ٹولز اور فیچرز سے بھرا ہوا ہے۔ مزید جاننے کے لیے دستاویزات چیک کریں۔