为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过gopdf将文本数据打印成pdf?

如何通过gopdf将文本数据打印成pdf?

Go
胡子哥哥 2023-06-19 14:14:08
我尝试了什么:var data stringdata = "Line1 <br>\n" +       "Line2 \n" +       "Line3 \n" +       "Line4" // It's got from DB which saved by br data.pdf.SetFont("wts11", "", 14)pdf.SetX(100)pdf.SetY(200)pdf.Text(data)结果:pdf显示:所有其他打印的数据都消失了。也许它无法解析<br>。即使改成pdf.Text(data),pdf.Cell(nil, text)也是一样的结果。
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

不要跳过错误处理,这就是为什么你看不到失败的原因。


请将错误检查添加到SetFont, Text,WritePdf功能。就我而言,我发现错误来自SetFont于未找到的错误。


open-sans.ttf如果您的工作目录中有此代码,则此代码效果很好:


package main


import (

    "log"


    "github.com/signintech/gopdf"

)


func main() {

    pdf := gopdf.GoPdf{}

    pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4})

    pdf.AddPage()


    if err := pdf.AddTTFFont("open-sans", "open-sans.ttf"); err != nil {

        log.Print(err.Error())

        return

    }


    if err := pdf.SetFont("open-sans", "", 14); err != nil {

        log.Print(err.Error())

        return

    }


    pdf.SetX(100)

    pdf.SetY(200)


    data := "Line1 <br/>\n" +

        "Line2 \n" +

        "Line3 \n" +

        "Line4"


    if err := pdf.Text(data); err != nil {

        log.Print(err.Error())

        return

    }


    if err := pdf.WritePdf("hello.pdf"); err != nil {

        log.Print(err.Error())

        return

    }

}


查看完整回答
反对 回复 2023-06-19
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信