文章目录
在现代Web开发中,生成PDF文件是一个常见的需求,无论是生成报告、发票还是其他类型的文档,PDF因其跨平台的特性和丰富的格式支持而成为首选格式。本文将详细介绍如何使用Go语言中的
gofpdf
包来生成PDF文件,并通过具体的代码示例来展示其功能和用法。
1. 安装gofpdf
包
首先,我们需要安装gofpdf
包。可以通过以下命令来安装:
go get -u github.com/jung-kurt/gofpdf
2. 基本用法
2.1 创建PDF实例
创建一个新的PDF实例是使用gofpdf
的第一步。我们可以指定页面的方向(纵向或横向)、单位(毫米或英寸)和纸张大小(A4、Letter等)。
pdf := gofpdf.New("P", "mm", "A4", "")
"P"
表示页面方向为纵向(Portrait),也可以使用"L"
表示横向(Landscape)。"mm"
表示单位为毫米,也可以使用"pt"
(点)、"in"
(英寸)等。"A4"
表示纸张大小为A4,也可以使用"Letter"
等其他标准纸张大小。
2.2 添加页面
创建PDF实例后,可以使用 AddPage
方法添加新的页面。
pdf.AddPage()
2.3 设置字体
gofpdf
支持多种字体,包括标准的PDF字体和自定义的TrueType字体。为了支持中文,我们需要加载自定义的字体文件。
pdf.AddUTF8Font("NotoSansSC", "", fontPathLight)
pdf.SetFont("NotoSansSC", "", 10)
AddUTF8Font
方法用于添加自定义的UTF-8字体。SetFont
方法用于设置当前使用的字体。
2.4 添加文本
使用 MultiCell
方法可以添加多行文本。MultiCell
方法允许指定文本的宽度、高度、内容、边框、对齐方式等。
pdf.SetXY(22, 207)
pdf.SetTextColor(255, 255, 255)
pdf.MultiCell(0, 6, baseInfo, "", "", false)
SetXY
方法用于设置文本的起始位置。SetTextColor
方法用于设置文本的颜色。MultiCell
方法用于添加多行文本。
2.5 添加图像
使用 ImageOptions
方法可以添加图像。ImageOptions
方法允许指定图像的路径、位置、大小、是否旋转等。
pdf.ImageOptions(
"./static/base.png",
0, 0,
210, 0,
false,
gofpdf.ImageOptions