Go API para crear y procesar documentos PDF
Go Library que brinda a los desarrolladores de software la capacidad de importar, modificar, manipular y guardar documentos PDF.
gopdf es una biblioteca Go de código abierto que incluye funciones para trabajar con documentos PDF dentro de las aplicaciones Go. La biblioteca ayuda a los desarrolladores a generar y modificar archivos PDF con solo un par de líneas de código Go. La biblioteca ha incluido la incorporación de subfuentes Unicode para idiomas populares como chino, japonés, coreano, etc.
La biblioteca es muy estable y muy fácil de usar. Ha incluido varias funciones importantes relacionadas con la creación y administración de PDF, como imprimir texto, agregar y reemplazar imágenes, usar enlaces dentro de PDF, agregar una página a PDF, dibujar una línea, un óvalo o un polígono en la página PDF, rotación de imagen o texto , configure la transparencia del texto, interletraje de fuentes, genere archivos PDF protegidos con contraseña y mucho más.
.
Primeros pasos con gopdf
La forma recomendada de instalar gopdf es usando GitHub. Para instalar gopdf en su sistema, ejecute el siguiente comando
Instalar gopdf a través de GitHub
go get https://github.com/signintech/gopdf.git
Para obtener la última actualización, ejecute el siguiente comando.
Genere archivos PDF a través de Go Library
La biblioteca gopdf de código abierto brinda a los desarrolladores de software la capacidad de crear y modificar documentos PDF dentro de las aplicaciones Go. PDF es uno de los principales formatos de archivo que se usa ampliamente en las industrias educativa, legal, médica, de pequeñas empresas y de TI. El PDF creado con la biblioteca tiene varias ventajas sobre otros formatos de archivo líderes, como la facilidad de creación, mejor seguridad, portabilidad, compatibilidad universal, confiabilidad y mucho más.
Insertar imágenes en PDF a través de Go
La biblioteca gopdf ha incluido la funcionalidad para insertar imágenes dentro de sus documentos PDF dentro de sus propias aplicaciones. También puede establecer el ancho, la altura y el lugar de su elección dentro de una página PDF. Una vez insertado, puede modificarlo y reemplazarlo fácilmente con cualquier otro tipo de imagen compatible usando un par de líneas de código GO. Puede usar algunos de los formatos de imagen populares, como JPEG, PNG, GIF, TIFF y muchos más
Cargar imagen en páginas PDF a través de 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")
}
Importar y modificar PDF existente
La biblioteca gopdf de código abierto permite a los programadores de software importar un documento PDF existente y realizar cambios en él con facilidad mediante el comando Go. La función Descargar archivo descargará un archivo a través de una URL a un archivo local. Es muy útil porque no cargará todo el archivo y solo una página específica en la memoria. Una vez que realice los cambios y esté satisfecho, puede guardarlo nuevamente con facilidad.
Creación de archivos PDF protegidos con contraseña usando Go Library
La biblioteca de código abierto gofpdf permite a los programadores de software proteger mediante programación sus documentos PDF al aplicarles protección con contraseña. Ha brindado soporte completo para crear archivos PDF con contraseña personalizada o puede establecer su propia contraseña. Los usuarios pueden seleccionar del conjunto de varias funciones disponibles, como permitir la lectura de archivos PDF, permiso para abrir un PDF, modificación del contenido del archivo PDF, etc.
Cargar imagen en páginas PDF a través de 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")
}