当前位置: 首页 > news >正文

国内知名设计网站沈阳专业seo排名优化公司

国内知名设计网站,沈阳专业seo排名优化公司,酒店网站 方案,温州专业网站建设公司文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…

文章精选推荐

1 JetBrains Ai assistant 编程工具让你的工作效率翻倍
2 Extra Icons:JetBrains IDE的图标增强神器
3 IDEA插件推荐-SequenceDiagram,自动生成时序图
4 BashSupport Pro 这个ides插件主要是用来干嘛的 ?
5 IDEA必装的插件:Spring Boot Helper的使用与功能特点
6 Ai assistant ,又是一个写代码神器
7 Cursor 设备ID修改器,你的Cursor又可以继续试用了

文章正文

使用 Go 语言生成样式美观的 PDF 文件是一个常见的需求,尤其是在报告生成、发票、合同等场景中。

幸运的是,Go 语言有几个强大的库,可以帮助开发者快速生成美观的 PDF 文件。

最常用的库之一是 github.com/jung-kurt/gofpdf,它提供了丰富的 API 来创建各种格式的 PDF 文件。

1. 安装 gofpdf

首先,你需要安装 gofpdf 库。可以使用 go get 来安装它:

go get -u github.com/jung-kurt/gofpdf

2. 使用 gofpdf 生成 PDF

gofpdf 提供了一个简单的 API 来生成 PDF 文件。你可以定义页面的尺寸、字体、颜色、边距等,还可以插入文本、图片、表格等内容。

2.1 创建一个基本的 PDF 示例

package mainimport ("github.com/jung-kurt/gofpdf""os"
)func main() {// 创建一个新的 PDF 对象pdf := gofpdf.New("P", "mm", "A4", "") // P: 纵向,mm: 毫米单位,A4: 页面大小// 添加一页pdf.AddPage()// 设置字体pdf.SetFont("Arial", "B", 16)// 写入标题pdf.Cell(40, 10, "Hello, Go PDF!")// 输出到文件err := pdf.OutputFileAndClose("output.pdf")if err != nil {panic(err)}
}

2.2 设置字体和样式

你可以设置不同的字体、大小、颜色等。

package mainimport ("github.com/jung-kurt/gofpdf""os"
)func main() {pdf := gofpdf.New("P", "mm", "A4", "")// 添加一页pdf.AddPage()// 设置字体为 Arial,常规样式,大小为 14pdf.SetFont("Arial", "", 14)// 设置字体颜色为蓝色pdf.SetTextColor(0, 0, 255)// 写入文本pdf.Cell(40, 10, "This is a blue text.")// 设置字体为 Times New Roman,粗体,大小为 12pdf.SetFont("Times", "B", 12)pdf.SetTextColor(255, 0, 0) // 红色pdf.Ln(10)pdf.Cell(40, 10, "This is a red bold Times font text.")// 输出 PDF 到文件err := pdf.OutputFileAndClose("styled_output.pdf")if err != nil {panic(err)}
}

2.3 添加图片

你还可以在 PDF 中插入图片。gofpdf 支持 JPEG、PNG 和 GIF 格式的图片。

package mainimport ("github.com/jung-kurt/gofpdf"
)func main() {pdf := gofpdf.New("P", "mm", "A4", "")// 添加一页pdf.AddPage()// 插入图片// 参数: 图片文件路径, x 坐标, y 坐标, 宽度, 高度pdf.Image("example.jpg", 10, 10, 50, 50)// 输出到文件err := pdf.OutputFileAndClose("image_output.pdf")if err != nil {panic(err)}
}

2.4 表格和复杂布局

gofpdf 也支持创建表格,以下是一个简单的表格生成示例:

package mainimport ("github.com/jung-kurt/gofpdf"
)func createTable(pdf *gofpdf.Fpdf) {// 设置字体pdf.SetFont("Arial", "B", 12)// 表头headers := []string{"ID", "Name", "Age"}for _, header := range headers {pdf.Cell(40, 10, header)}pdf.Ln(10) // 换行// 表格内容data := [][]string{{"1", "Alice", "23"},{"2", "Bob", "30"},{"3", "Charlie", "25"},}for _, row := range data {for _, cell := range row {pdf.Cell(40, 10, cell)}pdf.Ln(10) // 换行}
}func main() {// 创建 PDF 对象pdf := gofpdf.New("P", "mm", "A4", "")// 添加一页pdf.AddPage()// 创建表格createTable(pdf)// 输出到文件err := pdf.OutputFileAndClose("table_output.pdf")if err != nil {panic(err)}
}

2.5 添加页脚和页码

在多页文档中,你可能希望添加页脚或页码。可以通过自定义函数来实现这一点。

package mainimport ("github.com/jung-kurt/gofpdf"
)func addFooter(pdf *gofpdf.Fpdf) {// 设置字体pdf.SetFont("Arial", "I", 8)// 设置位置pdf.SetY(-15) // 距离页面底部 15mm// 页脚内容pdf.Cell(0, 10, "Page "+strconv.Itoa(pdf.PageNo()), 0, 0, "C")
}func main() {pdf := gofpdf.New("P", "mm", "A4", "")// 添加一页pdf.AddPage()// 设置正文内容pdf.SetFont("Arial", "", 12)pdf.Cell(40, 10, "This is a PDF with a footer!")// 添加页脚addFooter(pdf)// 输出 PDFerr := pdf.OutputFileAndClose("footer_output.pdf")if err != nil {panic(err)}
}

2.6 更多样式和布局

gofpdf 还支持很多其他功能,比如:

  • 设置不同的对齐方式(左对齐、居中、右对齐)
  • 设置边框
  • 使用矢量图形(线条、矩形、圆形)
  • 动态内容的生成
  • 多语言支持(如中文,需要设置支持的字体)

2.7 中文支持

Go 的 gofpdf 库原生不支持中文字符,但你可以通过加载 TTF 字体文件来支持中文字符。

首先,确保你有一个支持中文的 TTF 字体文件(例如,SimHei.ttf)。

package mainimport ("github.com/jung-kurt/gofpdf""log"
)func main() {// 创建一个新的 PDF 对象pdf := gofpdf.New("P", "mm", "A4", "")// 添加页面pdf.AddPage()// 添加中文字体err := pdf.AddTTFFont("simhei", "./SimHei.ttf")if err != nil {log.Fatal(err)}// 设置字体pdf.SetFont("simhei", "", 14)// 写入中文内容pdf.Cell(40, 10, "你好,Go PDF!")// 输出到文件err = pdf.OutputFileAndClose("chinese_output.pdf")if err != nil {log.Fatal(err)}
}

3. 总结

通过 gofpdf 库,你可以轻松地使用 Go 语言生成美观的 PDF 文件,支持丰富的样式设置、图片、表格、字体等自定义元素。你可以使用它生成报告、发票、合同等各种应用场景中的 PDF 文件。

  • 基础样式:字体、颜色、文本对齐、图片插入。
  • 复杂布局:表格、页脚、页码等。
  • 高级功能:中文支持、矢量图形等。

gofpdf 是一个功能强大的库,能够满足大部分 PDF 生成需求,同时也具有极好的扩展性,可以满足各种业务场景的需求。


文章转载自:
http://dinncolazarist.knnc.cn
http://dinncocheribon.knnc.cn
http://dinncochloralose.knnc.cn
http://dinncovocational.knnc.cn
http://dinnconondelivery.knnc.cn
http://dinncoassamese.knnc.cn
http://dinncomoriori.knnc.cn
http://dinncocrupper.knnc.cn
http://dinncointentional.knnc.cn
http://dinncospectrobolometer.knnc.cn
http://dinncounfit.knnc.cn
http://dinncoversatile.knnc.cn
http://dinncosulfonate.knnc.cn
http://dinncoappertain.knnc.cn
http://dinncopreconcert.knnc.cn
http://dinncoleasing.knnc.cn
http://dinncoroughage.knnc.cn
http://dinncoguillotine.knnc.cn
http://dinncowaygoing.knnc.cn
http://dinncosupplication.knnc.cn
http://dinncoriksha.knnc.cn
http://dinnconubbin.knnc.cn
http://dinncolipopexia.knnc.cn
http://dinncoconnubially.knnc.cn
http://dinnconipple.knnc.cn
http://dinncoxerophagy.knnc.cn
http://dinncoconvenance.knnc.cn
http://dinncowherever.knnc.cn
http://dinncoseigniorage.knnc.cn
http://dinncovichyssoise.knnc.cn
http://dinncoscandaliser.knnc.cn
http://dinncoexorbitance.knnc.cn
http://dinncoshowup.knnc.cn
http://dinncotomfool.knnc.cn
http://dinncodoubtless.knnc.cn
http://dinncoripoff.knnc.cn
http://dinncosettling.knnc.cn
http://dinncohypobranchial.knnc.cn
http://dinncomillennium.knnc.cn
http://dinncopedicab.knnc.cn
http://dinncoangiotensin.knnc.cn
http://dinncoliftboy.knnc.cn
http://dinncoscrotitis.knnc.cn
http://dinncogalvo.knnc.cn
http://dinncoshoemaking.knnc.cn
http://dinncokreisler.knnc.cn
http://dinncohasenpfeffer.knnc.cn
http://dinncosuoloco.knnc.cn
http://dinncobehtlehem.knnc.cn
http://dinncoforeground.knnc.cn
http://dinncomisquote.knnc.cn
http://dinncodimethyltryptamine.knnc.cn
http://dinncodemimini.knnc.cn
http://dinncotuna.knnc.cn
http://dinncohemizygous.knnc.cn
http://dinncoscarfweld.knnc.cn
http://dinncoflyte.knnc.cn
http://dinncotidehead.knnc.cn
http://dinncofreesheet.knnc.cn
http://dinncoantepartum.knnc.cn
http://dinncochurchly.knnc.cn
http://dinncoworldful.knnc.cn
http://dinncoimo.knnc.cn
http://dinncopsychoprison.knnc.cn
http://dinncofloaty.knnc.cn
http://dinncoinsidious.knnc.cn
http://dinncojibb.knnc.cn
http://dinncospectroscopy.knnc.cn
http://dinncoescort.knnc.cn
http://dinncojournalistic.knnc.cn
http://dinncosyphilologist.knnc.cn
http://dinncomanchester.knnc.cn
http://dinncodrowning.knnc.cn
http://dinncopellucid.knnc.cn
http://dinncoanalyzed.knnc.cn
http://dinncometaphorical.knnc.cn
http://dinncorelievedly.knnc.cn
http://dinncostealing.knnc.cn
http://dinncohilarious.knnc.cn
http://dinncodesignee.knnc.cn
http://dinncoconcoction.knnc.cn
http://dinncophonetics.knnc.cn
http://dinncowonderworld.knnc.cn
http://dinncolatria.knnc.cn
http://dinncoreframe.knnc.cn
http://dinncounilluminating.knnc.cn
http://dinncocampanulate.knnc.cn
http://dinncochancellery.knnc.cn
http://dinncoichnographic.knnc.cn
http://dinncourticaceous.knnc.cn
http://dinncobunchiness.knnc.cn
http://dinncospilikin.knnc.cn
http://dinncowelsher.knnc.cn
http://dinncoangostura.knnc.cn
http://dinncosideboard.knnc.cn
http://dinncodesmitis.knnc.cn
http://dinnconouakchott.knnc.cn
http://dinncoqibla.knnc.cn
http://dinncoprincelet.knnc.cn
http://dinncogriselda.knnc.cn
http://www.dinnco.com/news/157739.html

相关文章:

  • vps上的网站运行太慢营销顾问公司
  • 万网网站搬家小程序开发收费价目表
  • html网站搭建百度seo优化招聘
  • 自己做装修图网站seo投放营销
  • 如何给网站做301跳转品牌宣传推广方案
  • 做网站常州企业网站设计方案
  • 网站策划案东莞seo排名优化
  • 广州做营销型网站建设投稿网站
  • 国外网站打开很慢dns临沂森工木业有限公司
  • 网站开发遇到的困难总结百度云盘登录
  • wordpress安装和使用方法百度关键词优化策略
  • 专门做二手的网站哪里做网络推广
  • 如何自制一个网站重庆seo优化推广
  • 沈阳网站建设服务电话百度平台商家我的订单查询
  • 做房产应看的网站网站技术制作
  • 做资源下载网站用什么工具站长工具端口
  • 网站建设流程的过程网络软文
  • 响应式网站用什么工具网上推广app
  • 零售网站有哪些平台宁波seo推广优化哪家强
  • 外贸工厂的网站建设谷歌网站
  • 赣州建设部网站网址seo关键词
  • 合肥置地广场做网站的公司搜索引擎优化排名案例
  • 甘肃网站建设google搜索引擎下载
  • 简述网站的创建流程网络推广外包流程
  • 企业网站 app怎么找到精准客户资源
  • 亚马逊品牌网站怎么做企业查询系统
  • 网站打不开如何解决南昌seo实用技巧
  • wordpress收藏点赞百度关键字优化价格
  • 网络公司需要什么资质广州seo优化外包服务
  • 建设公众号网站厦门人才网最新招聘信息网