我尝试过的事情:
var data string
data = "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)
,结果也相同。
参考:
类似的问题:
答案 0 :(得分:1)
不要跳过错误处理,这就是为什么看不到失败原因的原因。
请向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
}
}