منبع باز Go Library برای PDF Document Generator
یک Go API تولیدکننده PDF مینیمالیستی که به توسعهدهندگان اجازه میدهد اسناد PDF را دستکاری کنند.
One File PDF یک API تولید PDF منبع باز برای GO است. این یک API دستکاری PDF مینیمالیستی و سبک وزن است. موضوع اصلی توسعه این API ایجاد و GO API تا حد امکان کوتاه بود تا 80٪ نیازهای تولید سند PDF را پوشش دهد. اندازه کوچک API به توسعه دهندگان اجازه می دهد.
API طیف گسترده ای از ویژگی های تولید سند را برای ایجاد یک گزارش تجاری مشترک فراهم می کند. شما می توانید متن را وارد کنید، فونت را تعیین کنید، رنگ را تعیین کنید، ستون ها را تنظیم کنید، مستطیل ها، دایره ها و بیضی ها را بکشید و تصاویر JPEG، GIF و PNG را در فایل های PDF قرار دهید. علاوه بر این، API اجازه می دهد تا ویژگی های ابرداده اسناد PDF از جمله نویسنده، سازنده، کلمات کلیدی، موضوع و عنوان را تنظیم کنید.
.
شروع کار با One-File-PDF
برای نصب One-File-PDF روی سیستم خود، لطفا دستور زیر را اجرا کنید.
One-File-PDF را از طریق GitHub نصب کنید
go get github.com/balacode/one-file-pdf
سند PDF را از طریق Free Go Library ایجاد کنید
تولید اسناد PDF با Go بسیار ساده است. تنها کاری که باید انجام دهید این است که با استفاده از روش pdf.NewPDF("A4") API یک سند PDF خالی با اندازه A4 ایجاد کنید. با استفاده از روش pdf.SetUnits("cm") می توانید اندازه های سند را بر حسب سانتی متر تنظیم کنید و به طور مشابه یک شبکه در سند PDF جدید ایجاد شده با استفاده از روش pdf.DrawUnitGrid() رسم کنید.
با استفاده از Free GO API فونت را در PDF تنظیم کنید
این API منبع باز سبک وزن، امکان دستکاری و عملیات تولید اولیه اسناد را برای اسناد PDF فراهم می کند. هنگامی که یک سند جدید ایجاد کردید، باید فونت و سبک فونت را تنظیم کنید. به منظور تنظیم فونت، روش pdf.SetFont()، تعیین موقعیت با استفاده از متد pdf.SetXY() و رنگ متن با استفاده از متد pdf.SetColor().
از طریق Go تصاویر را در اسناد PDF بکشید
The lightweight One File library provides complete support for drawing JPEG, GIF, and PNG Images as well as shapes in PDF files. It also provides support for modifying images according to your own needs.از طریق Go تصاویر را به صورت PDF بکشید
func pngImages() {
const FILENAME = "png_images.pdf"
fmt.Println("Generating sample PDF:", FILENAME, "...")
doc := pdf.NewPDF("A4")
doc.SetUnits("cm")
//
// draw background pattern
for x := 0.0; x < doc.PageWidth(); x += 6 {
for y := 0.0; y < doc.PageHeight(); y += 5 {
doc.DrawImage(x, y, 5, "../image/gophers.png", "cyan")
}
}
// draw dice
doc.SetColor("WHITE").FillBox(3.5, 4.5, 14.7, 17).
//
DrawImage(4, 5, 5, "../image/dice.png", "WHITE").
DrawImage(11, 5, 5, "../image/dice.png", "RED").
//
DrawImage(4, 10.5, 5, "../image/dice.png", "GREEN").
DrawImage(11, 10.5, 5, "../image/dice.png", "BLUE").
//
DrawImage(4, 16, 5, "../image/dice.png", "BLACK").
SetFont("Helvetica-Bold", 50).
SetXY(3, 3).SetColor("#009150").
DrawText("PNG Image Demo")
//
doc.SaveFile(FILENAME)
} // pngImages