通过自由走API创建和管理PDF个文件
去给软件开发者创建、编辑、转换和操作PDF个文档的图书馆。
Gofpdf是一个开放源代码库、使软件开发人员能够生成和修改PDF个文件而不受任何外部依赖。 图书馆支持PDF个文档生成和操作、文本、图纸和图像的高水平。 图书馆完全支持UTF-8个字体和“左右”语言。 它支持自动翻译UTF-8个运行到代码页码编码的语言、这些语言有不到256个字符。
PDF 是世界上最常用的文件格式之一,用于在全球范围内存储和共享信息。 gofpdf 库支持 PDF 文档处理的几个重要功能,例如生成和编辑 PDF 文档、将图像(JPEG、PNG、GIF、TIFF 和 SVG 图像)插入 PDF、在现有 PDF 文件中插入新页面、页眉 和页脚管理、自动分页符、内部和外部链接支持、换行符和文本对齐等等。
从头开始
建议的安装鹅肝酱的方法是使用GitHub。 要在您的系统上安装gfdf、请运行下列命令
通过 GitHub 安装 gofpdf
go get https://github.com/jung-kurt/gofpdf
最新更新请执行下列命令:
go get -u -v github.com/jung-kurt/gofpdf/...
通过图书馆创建和处理
Gofpdf库提供了PDF个文档创建和Go内部编辑应用程序的功能。 它允许创建PDF个文件、对文本、绘图和图像的支持程度很高。 创建文档后、您可以很容易地包括文本和图像、插入新页面、层、模板、Barcode等。 只有几个简单的命令 您还可以生成PDF个文档、其中包含多个列或带有图像的景观模式
通过API号公路生成PDF文件
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "B", 16)
pdf.Cell(40, 10, "Hello, world")
err := pdf.OutputFileAndClose("hello.pdf")
通过第API号政府增加PDF幅
图像是以更好和更全面的方式提供更多信息的重要组成部分。 它总是给内容增加更多的价值。 开放源代码GofpdfAPI允许程序员将自己选择的图像插入到其应用程序中的PDF个文件中。 它为非常受欢迎的形象格式提供支持、如JPEG、NG、GIF、TIFF以及基本只有路径的SVG图像。 你也可以根据自己的需要修改图像。
通过走API增加PDF页
func ExampleFpdf_Image() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "", 11)
pdf.Image(example.ImageFile("logo.png"), 10, 10, 30, 0, false, "", 0, "")
pdf.Text(50, 20, "logo.png")
pdf.Image(example.ImageFile("logo.gif"), 10, 40, 30, 0, false, "", 0, "")
pdf.Text(50, 50, "logo.gif")
pdf.Image(example.ImageFile("logo-gray.png"), 10, 70, 30, 0, false, "", 0, "")
pdf.Text(50, 80, "logo-gray.png")
pdf.Image(example.ImageFile("logo-rgb.png"), 10, 100, 30, 0, false, "", 0, "")
pdf.Text(50, 110, "logo-rgb.png")
pdf.Image(example.ImageFile("logo.jpg"), 10, 130, 30, 0, false, "", 0, "")
pdf.Text(50, 140, "logo.jpg")
fileStr := example.Filename("Fpdf_Image")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_Image.pdf
}
在PDF份文件中加入层
使用PDF个文档中的层可以更好地安排和显示内容。 该特性使用户能够使内容可见或隐形、或在PDF个文档中添加细节。 Gofpdf库完全支持PDF个文件中的层增加和管理。 您可以很容易地定义层、控制层互动的可见性或在PDF个浏览器中打开层面窗格。
查看并加入PDF文件内应用程序
func ExampleFpdf_AddLayer() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "", 15)
pdf.Write(8, "This line doesn't belong to any layer.\n")
// Define layers
l1 := pdf.AddLayer("Layer 1", true)
l2 := pdf.AddLayer("Layer 2", true)
// Open layer pane in PDF viewer
pdf.OpenLayerPane()
// First layer
pdf.BeginLayer(l1)
pdf.Write(8, "This line belongs to layer 1.\n")
pdf.EndLayer()
// Second layer
pdf.BeginLayer(l2)
pdf.Write(8, "This line belongs to layer 2.\n")
pdf.EndLayer()
// First layer again
pdf.BeginLayer(l1)
pdf.Write(8, "This line belongs to layer 1 again.\n")
pdf.EndLayer()
fileStr := example.Filename("Fpdf_AddLayer")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_AddLayer.pdf
}
增加领导人、足迹和页面突破PDFs人
他们的应用程序里面的文件 标题和页脚特性通过将页码、文本标签或图像应用到PDF个文件、使每PDF个文档有个人的触摸。 图书馆完全支持在您PDF个文档中创建、编辑和管理头和页脚。 您也可以使用线条理由、字幕翻译和页面断开等功能。
领导人和足迹通过走向PDF
func ExampleFpdf_AddPage() {
pdf := gofpdf.New("P", "mm", "A4", "")
pdf.SetTopMargin(30)
pdf.SetHeaderFuncMode(func() {
pdf.Image(example.ImageFile("logo.png"), 10, 6, 30, 0, false, "", 0, "")
pdf.SetY(5)
pdf.SetFont("Arial", "B", 15)
pdf.Cell(80, 0, "")
pdf.CellFormat(30, 10, "Title", "1", 0, "C", false, 0, "")
pdf.Ln(20)
}, true)
pdf.SetFooterFunc(func() {
pdf.SetY(-15)
pdf.SetFont("Arial", "I", 8)
pdf.CellFormat(0, 10, fmt.Sprintf("Page %d/{nb}", pdf.PageNo()),
"", 0, "C", false, 0, "")
})
pdf.AliasNbPages("")
pdf.AddPage()
pdf.SetFont("Times", "", 12)
for j := 1; j <= 40; j++ {
pdf.CellFormat(0, 10, fmt.Sprintf("Printing line number %d", j),
"", 1, "", false, 0, "")
}
fileStr := example.Filename("Fpdf_AddPage")
err := pdf.OutputFileAndClose(fileStr)
example.Summary(err, fileStr)
// Output:
// Successfully generated pdf/Fpdf_AddPage.pdf
}