1. 产品
  2.   PDF格式
  3.   GO
  4.   gopdf  
 
  

用于创建和处理 PDF 文档的 Go API

Go Library 让软件开发人员能够导入、修改、操作和保存 PDF 文档。

gopdf 是一个开源的 Go 库,其中包含在 Go 应用程序中处理 PDF 文档的功能。该库可帮助开发人员仅用几行 Go 代码生成和修改 PDF 文件。该库包括为流行语言(如中文、日文、韩文等)嵌入 Unicode 子字体。

该库非常稳定且易于使用。它包含与 PDF 创建和管理相关的几个重要功能,例如打印文本、添加和替换图像、使用 PDF 内的链接、向 PDF 添加页面、在 PDF 页面上绘制线条、椭圆或多边形、图像或文本旋转、设置文本透明度、字体字距调整、生成受密码保护的 PDF 文件等等。

.

Previous Next

gopdf 入门

安装 gopdf 的推荐方法是使用 GitHub。要在您的系统上安装 gopdf,请运行以下命令

通过 GitHub 安装 gopdf

go get https://github.com/signintech/gopdf.git

有关最新更新,请运行以下命令。

通过 Go Library 生成 PDF 文件

开源 gopdf 库使软件开发人员能够在 Go 应用程序中创建和修改 PDF 文档。 PDF 是广泛用于教育、法律、医疗、小型企业和 IT 行业的主要文件格式之一。与其他主要文件格式相比,使用该库创建的 PDF 具有多个优势,例如易于创建、更好的安全性、可移植性、通用兼容性、可靠性等等。

通过 Go 将图像插入 PDF

gopdf 库包含在他们自己的应用程序中的 PDF 文档中插入图像的功能。您还可以在 PDF 页面内设置您选择的宽度、高度和位置。插入后,您可以使用几行 GO 代码轻松修改并替换为任何其他支持的图像类型。您可以使用一些流行的图像格式,例如 JPEG、PNG、GIF、TIFF 等等

通过 Go 将图像加载到 PDF 页面

 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 库使软件程序员能够使用 Go 命令轻松导入现有的 PDF 文档并对其进行更改。 DownloadFile 函数将通过 URL 将文件下载到本地文件。它非常有用,因为它不会加载整个文件,而只会将特定页面加载到内存中。进行更改并满意后,您可以轻松地再次保存它。

使用 Go 库创建受密码保护的 PDF 文件

开源的 gofpdf 库使软件程序员能够通过对其应用密码保护以编程方式保护他们的 PDF 文档。它为使用自定义密码创建 PDF 文件提供了完整的支持,也可以设置自己的密码。用户可以从一系列可用的功能中进行选择,例如允许阅读 PDF 文件、允许打开 PDF、修改 PDF 文件的内容等。

通过 Go 将图像加载到 PDF 页面

 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")
}
 中国人