Go API para criar e processar documentos PDF
Go Library que oferece aos desenvolvedores de software a capacidade de importar, modificar, manipular e salvar documentos PDF.
O gopdf é uma biblioteca Go de código aberto que inclui funcionalidade para trabalhar com documentos PDF dentro de aplicativos Go. A biblioteca ajuda os desenvolvedores a gerar e modificar arquivos PDF com apenas algumas linhas de código Go. A biblioteca incluiu a incorporação de sub-fonte Unicode para idiomas populares como chinês, japonês, coreano, etc.
A biblioteca é muito estável e muito fácil de usar. Ele incluiu vários recursos importantes relacionados à criação e gerenciamento de PDF, como imprimir texto, adicionar e substituir imagens, usar links dentro do PDF, adicionar uma página ao PDF, desenhar uma linha, oval ou polígono na página do PDF, rotação de imagem ou texto , defina transparência para texto, kerning de fonte, gere arquivos PDF protegidos por senha e muito mais.
.
Introdução ao gopdf
A maneira recomendada de instalar o gopdf é usando o GitHub. Para instalar o gopdf em seu sistema, execute o seguinte comando
Instalar gopdf via GitHub
go get https://github.com/signintech/gopdf.git
Para a atualização mais recente, execute o seguinte comando.
Gerar arquivos PDF via biblioteca Go
A biblioteca gopdf de código aberto oferece aos desenvolvedores de software a capacidade de criar e modificar documentos PDF dentro de aplicativos Go. O PDF é um dos principais formatos de arquivo amplamente utilizado nos setores educacional, jurídico, médico, de pequenas empresas e de TI. O PDF criado com a biblioteca tem várias vantagens sobre outros formatos de arquivo líderes, como facilidade de criação, melhor segurança, portabilidade, compatibilidade universal, confiabilidade e muito mais.
Inserindo imagens em PDF via Go
A biblioteca gopdf incluiu funcionalidade para inserir imagens dentro de seus documentos PDF dentro de seus próprios aplicativos. Você também pode definir a largura, a altura e o local de sua escolha dentro de uma página PDF. Uma vez inserido, você pode facilmente modificá-lo e substituí-lo por qualquer outro tipo de imagem compatível usando algumas linhas de código GO. Você pode usar alguns dos formatos de imagem populares, como JPEG, PNG, GIF, TIFF e muitos mais
Carregar imagem para páginas PDF via 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 e modificar PDF existente
A biblioteca gopdf de código aberto permite que os programadores de software importem um documento PDF existente e façam alterações nele com facilidade usando o comando Go. A função DownloadFile fará o download de um arquivo via URL para um arquivo local. É muito útil porque não carregará o arquivo inteiro e apenas uma página específica na memória. Depois de fazer as alterações e estiver satisfeito, você poderá salvá-lo novamente com facilidade.
Criação de arquivos PDF protegidos por senha usando a biblioteca Go
A biblioteca gofpdf de código aberto permite que os programadores de software protejam programaticamente seus documentos PDF aplicando proteção por senha a eles. Ele forneceu suporte completo para a criação de arquivos PDF com senha personalizada ou pode definir sua própria senha. Os usuários podem selecionar a partir do conjunto de vários recursos disponíveis, como permitir a leitura de arquivos PDF, permissão para abrir um PDF, modificação de conteúdo do arquivo PDF e assim por diante.
Carregar imagem para páginas PDF via 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")
}