安装

环境要求

  • Go 1.22 或更高版本
  • 无需外部依赖

安装

go get github.com/gpdf-dev/gpdf

模块配置

将 gpdf 添加到你的 go.mod

module your-project

go 1.22

require github.com/gpdf-dev/gpdf v1.0.4

gpdf 零外部依赖 — 仅使用 Go 标准库。无 CGo,无系统库,无复杂的构建步骤。

验证安装

package main

import (
    "fmt"
    "github.com/gpdf-dev/gpdf/document"
    "github.com/gpdf-dev/gpdf/template"
)

func main() {
    doc := template.New(template.WithPageSize(document.A4))
    page := doc.AddPage()
    page.AutoRow(func(r *template.RowBuilder) {
        r.Col(12, func(c *template.ColBuilder) {
            c.Text("gpdf is working!")
        })
    })
    data, err := doc.Generate()
    if err != nil {
        panic(err)
    }
    fmt.Printf("Generated PDF: %d bytes\n", len(data))
}
go run main.go
# Output: Generated PDF: 1234 bytes

包结构

gpdf 分为三层,按需导入:

import (
    "github.com/gpdf-dev/gpdf"            // Facade (re-exports)
    "github.com/gpdf-dev/gpdf/template"    // Layer 3: Builder API, Components
    "github.com/gpdf-dev/gpdf/document"    // Layer 2: Types, Styles, Units
    "github.com/gpdf-dev/gpdf/pdf"         // Layer 1: Colors, PDF primitives
)
层级用途
template3Builder API、JSON Schema、Go Templates、组件
document2页面尺寸、单位(Mm、Pt 等)、样式、节点类型
pdf1颜色(RGB、Hex、Gray)、PDF Writer、字体嵌入
qrcode二维码生成
barcode条形码生成(Code 128)

下一步