Go API для створення та обробки PDF-документів
Бібліотека Go, яка дає розробникам програмного забезпечення можливість імпортувати, змінювати, маніпулювати та зберігати PDF-документи.
Gopdf — це відкрита бібліотека Source Go, яка містить функції для роботи з PDF-документами в програмах Go. Бібліотека допомагає розробникам створювати та змінювати PDF-файли лише за допомогою кількох рядків коду Go. Бібліотека включає вбудовування підшрифту Unicode для таких популярних мов, як китайська, японська, корейська тощо.
Бібліотека дуже стабільна і дуже проста у використанні. Він містить кілька важливих функцій, пов’язаних із створенням та керуванням PDF-файлами, як-от друк тексту, додавання та заміна зображень, використання посилань у PDF-файлі, додавання сторінки до PDF-файлу, малювання лінії, овалу чи багатокутника на сторінці PDF, обертання зображення чи тексту , встановити прозорість для тексту, кернінг шрифтів, створити PDF-файли, захищені паролем, і багато іншого.
.
Початок роботи з gopdf
Рекомендований спосіб встановлення gopdf — використання GitHub. Щоб установити gopdf у вашій системі, виконайте таку команду
Встановіть gopdf через GitHub
go get https://github.com/signintech/gopdf.git
Для останнього оновлення виконайте таку команду.
Створюйте PDF-файли за допомогою Go Library
Бібліотека gopdf з відкритим кодом дає розробникам програмного забезпечення можливість створювати та змінювати документи PDF у програмах Go. PDF є одним із провідних форматів файлів, який широко використовується в освіті, юриспруденції, медицині, малому бізнесі та ІТ-індустрії. PDF-файл, створений за допомогою бібліотеки, має кілька переваг перед іншими провідними форматами файлів, як-от легкість створення, кращий захист, мобільність, універсальна сумісність, надійність і багато іншого.
Вставлення зображень у PDF через Go
Бібліотека gopdf включає функції для вставлення зображень у PDF-документи у власні програми. Ви також можете встановити ширину, висоту та місце на свій вибір на сторінці PDF. Після вставки ви можете легко змінити та замінити будь-який інший підтримуваний тип зображення за допомогою кількох рядків коду GO. Ви можете використовувати деякі популярні формати зображень, такі як JPEG, PNG, GIF, TIFF та багато інших
Завантажте зображення на сторінки PDF через Go
package main
import (
"log"
"github.com/signintech/gopdf"
)
func main() {
pdf := gopdf.GoPdf{}
pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4 })
pdf.AddPage()
var err error
err = pdf.AddTTFFont("loma", "../ttf/Loma.ttf")
if err != nil {
log.Print(err.Error())
return
}
pdf.Image("../imgs/gopher.jpg", 200, 50, nil) //print image
err = pdf.SetFont("loma", "", 14)
if err != nil {
log.Print(err.Error())
return
}
pdf.SetXY(250, 200) //move current location
pdf.Cell(nil, "gopher and gopher") //print text
pdf.WritePdf("image.pdf")
}
Імпортуйте та змінюйте наявний PDF
Бібліотека gopdf з відкритим кодом дозволяє програмістам імпортувати наявний PDF-документ і легко вносити в нього зміни за допомогою команди Go. Функція DownloadFile завантажить файл через URL-адресу в локальний файл. Це дуже корисно, оскільки завантажуватиме в пам'ять не весь файл, а лише окрему сторінку. Коли ви внесете зміни й будете задоволені, ви можете легко зберегти його знову.
Створення захищених паролем файлів PDF за допомогою бібліотеки Go
Бібліотека gofpdf з відкритим кодом дозволяє програмістам програмного забезпечення програмно захищати свої PDF-документи, застосовуючи до них захист паролем. Він надав повну підтримку для створення PDF-файлів із спеціальним паролем або може встановити власний пароль. Користувачі можуть вибрати з набору різноманітних доступних функцій, таких як дозвіл на читання PDF-файлу, дозвіл на відкриття PDF-файлу, зміна вмісту PDF-файлу тощо.
Завантажте зображення на сторінки PDF через Go
package main
import (
"log"
"github.com/signintech/gopdf"
)
func main() {
pdf := gopdf.GoPdf{}
pdf.Start(gopdf.Config{
PageSize: *gopdf.PageSizeA4, //595.28, 841.89 = A4
Protection: gopdf.PDFProtectionConfig{
UseProtection: true,
Permissions: gopdf.PermissionsPrint | gopdf.PermissionsCopy | gopdf.PermissionsModify,
OwnerPass: []byte("123456"),
UserPass: []byte("123456789")},
})
pdf.AddPage()
pdf.AddTTFFont("loma", "../ttf/loma.ttf")
pdf.Cell(nil,"Hi")
pdf.WritePdf("protect.pdf")
}