通過 github.com/jung-kurt/gofpdf 包實現自定義字型庫的新增及PDF的生成

xieyanke發表於2016-12-22

為朋友做個demo,順便分享一下:

github.com/jung-kurt/gofpdf 是一個用於生成PDF的包

包的安裝及自定義字型檔新增工具的安裝

  1. go get github.com/jung-kurt/gofpdf
  2. go install github.com/jung-kurt/gofpdf/makefont

通過 makefont 工具生成自定義字型庫

  1. makefont -dst=fonts -embed -enc=/Users/xieyanke/GOPATH/src/github.com/jung-kurt/gofpdf/font/cp1252.map /Library/Fonts/Chalkduster.ttf

這裡 makefont -dst 指定了相對路徑 fonts 這個目錄作為字型檔生成的目錄,後面程式碼中載入字型檔需要引用這個路徑

package main

import (
    "log"

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

func main() {
    // 這裡./fonts 是指定了makefont 工具生成自定義字型庫的目錄
    pdf := gofpdf.New("P", "mm", "A4", "./fonts") 
    // 載入定義的字型檔
    pdf.AddFont("cld", "", "Chalkduster.json")
    pdf.AddPage()
    pdf.SetFont("cld", "", 22)
    pdf.Cell(40, 10, "A new pdf")

    err := pdf.OutputFileAndClose("demo.pdf")

    if err != nil {
        log.Println(err)
    }
}
// go run example.go,檢視當前目錄下 pdf 進行驗證 

相關文章