Skip to content

rogchap/pdfgo

Repository files navigation

PDF Go

PDF Go is a powerful, open source, PDF generation library for the Go programming language.

Feature

  • Powerful layout engine

    • Page layers (great for watermarks)
    • horizontal and vertical stacks
    • Page headers and footers
    • Automatically wrap content over multiple pages
  • Comprehensive text rendering

    • Text styles (italic, bold, color, line height etc)
    • Fonts manager including system fonts (yes, color emoji support 😍)
    • Font family substitutions (fallback)
    • Font subsetting (reduce PDF file size)
    • Font shaping (support Arabic fonts)
    • Right-to-left (RTL) content (Note: WIP)
    • Page numbering
  • Customizable styling

    • Background colors
    • Container border styles, including corner radius
  • ...

Usage

This project is a WIP; no release has been made, and is pre-v0.1

Example

type myDoc struct {}

func (d *myDoc) Build(b *pdf.Doc) {
	d.Page(func(page *pdf.Page) {
        page.Content().
            Text("PDF Go").FontSize(64)
    }
}

func main() {
	f, _ := os.Create("output.pdf")
	defer f.Close()
	pdf.Generate(f, &myDoc{})
}

Acknowledgements

This library is has been inspired by the great work done by Marcin Ziąbek and the QuestPDF community.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published