설치

요구 사항

  • Go 1.22 이상
  • 외부 의존성 불필요

설치

go get github.com/gpdf-dev/gpdf

모듈 설정

go.mod에 gpdf를 추가합니다:

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 (재수출)
    "github.com/gpdf-dev/gpdf/template"    // Layer 3: Builder API, 컴포넌트
    "github.com/gpdf-dev/gpdf/document"    // Layer 2: 타입, 스타일, 단위
    "github.com/gpdf-dev/gpdf/pdf"         // Layer 1: 색상, PDF 프리미티브
)
패키지레이어용도
template3Builder API, JSON 스키마, Go 템플릿, 컴포넌트
document2페이지 크기, 단위 (Mm, Pt 등), 스타일, 노드 타입
pdf1색상 (RGB, Hex, Gray), PDF Writer, 폰트 임베딩
qrcodeQR 코드 생성
barcode바코드 생성 (Code 128)

다음 단계