清风徐来
Michael's Blog
Demo 学 Echo Part17 输出Pdf

输出PDF也是很容易遇到的要求。

我们用gopdf实现,先安装go get -u github.com/jung-kurt/gofpdf 用到中文需要注意,设置utf8字体。

package main

import (
	"log"

	"github.com/jung-kurt/gofpdf"
)

func main() {
	//参数说明
	//文档方向,纵向(P)还是横向(L)
	//度量单位,mm表示毫米
	//文档的大小,即将选择A4
	//字体路径文件,用不到
	pdf := gofpdf.New("P", "mm", "A4", "")
	//创建新页面
	pdf.AddPage()
	//中文字体设置
	pdf.AddUTF8Font("NotoSansSC", "", "./NotoSansSC-Regular.ttf")
	//配置字体
	pdf.SetFont("NotoSansSC", "", 16)
	//左起5mm,上起10mm写字
	pdf.Text(5, 10, "你好, 世界")
	//左侧5mm,距顶部20mm,贴图;
	//第四个参数是图像宽度。如果大于0的值,则将根据编号按比例调整图像大小
	pdf.Image("./assets/terminal.png", 5, 20, 200, 0, false, "", 0, "")

	err := pdf.OutputFileAndClose("./file.pdf")
	if err != nil {
		log.Println("ERROR", err.Error())
	}
}

效果 gopdf.png 字体文件下载:NotoSansSC-Regular.ttf.zip


最后修改于 2019-08-18