通過 github.com/jung-kurt/gofpdf 包實現自定義字型庫的新增及PDF的生成
為朋友做個demo,順便分享一下:
github.com/jung-kurt/gofpdf 是一個用於生成PDF的包
包的安裝及自定義字型檔新增工具的安裝
- go get github.com/jung-kurt/gofpdf
- go install github.com/jung-kurt/gofpdf/makefont
通過 makefont 工具生成自定義字型庫
- 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 進行驗證
相關文章
- Feign通過自定義註解實現路徑的轉義
- 自定義通過PopupWindow實現通用選單
- iOS 新增自定義的字型 Fonts provided by applicationiOSIDEAPP
- package-make 新增自定義包的名稱空間和生成路徑Package
- Flutter 通過Clipper實現各種自定義形狀Flutter
- 自定義Toast的背景顏色大小及字型大小AST
- 如何在React Native中新增自定義字型React Native自定義字型
- jQuery如何實現新增自定義函式jQuery函式
- Laravel 實現自定義生成檔案命令Laravel
- 自定義Drawable:實現文字生成圖片
- EventSource的自定義實現
- android 螢幕適配一:通過自定義View的方式實現適配AndroidView
- OpenAPI生成器中實現自定義模板API
- 自定義註解+反射 實現給註解新增功能的效果反射
- 案例展示自定義C函式的實現過程函式
- 聊聊如何通過自定義註解實現springmvc和sentinel整合SpringMVC
- Flutter自定義字型你想知道的!Flutter自定義字型
- 在 Avalonia 程式中新增自定義字型,並最佳化字型顯示效果自定義字型
- 自定義msi安裝包的執行過程
- Hive中新增自定義函式(UDF)方法及實踐Hive函式
- 自定義View:畫布實現自定義View(折線圖的實現)View
- Flutter自定義Banner的實現Flutter
- Flutter自定義View的實現FlutterView
- 4、過濾器的使用及自定義過濾器過濾器
- 原生 JavaScript 如何實現通過自定義屬性定位/篩選節點JavaScript
- 如何動手實現一個自定義的通訊協議?協議
- jQuery實現的滑鼠滑過連結出現自定義提示效果jQuery
- 【android】自定義佈局控制控制元件的位置可以通過繼承FrameLayout實現Android控制元件繼承
- iOS 新增字型庫iOS
- 自定義註解例項實現SQL語句生成SQL
- 【朝花夕拾】Android自定義View篇之(四)自定義View的三種實現方式及自定義屬性詳解AndroidView
- 通過xml檔案實現自定義圓角按鈕,以及點選效果XML
- 自定義View:自定義屬性(自定義按鈕實現)View
- 自定義字型混淆資訊的自動化破解自定義字型
- 關於自定義View的drawText字型測量View
- 如何通過XIB 建立自定義UIViewUIView
- Java自定義Annotation,通過反射解析AnnotationJava反射
- 如何利用 Netty 實現自定義協議通訊?Netty協議