Go API за създаване и обработка на PDF документ
Go Library, която дава възможност на разработчиците на софтуер да импортират, променят, манипулират и запазват PDF документи.
Gopdf е 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 Library
Библиотеката 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")
}