package
0.0.0-20240627062922-0ed1ff131195
Repository: https://github.com/llgcode/draw2d.git
Documentation: pkg.go.dev
# README
draw2d pdf
Package draw2dpdf provides a graphic context that can draw vector graphics and text on pdf file with the gofpdf package.
Quick Start
The following Go code generates a simple drawing and saves it to a pdf document:
// Initialize the graphic context on an RGBA image
dest := draw2dpdf.NewPdf("L", "mm", "A4")
gc := draw2dpdf.NewGraphicContext(dest)
// Set some properties
gc.SetFillColor(color.RGBA{0x44, 0xff, 0x44, 0xff})
gc.SetStrokeColor(color.RGBA{0x44, 0x44, 0x44, 0xff})
gc.SetLineWidth(5)
// Draw a closed shape
gc.MoveTo(10, 10) // should always be called first for a new path
gc.LineTo(100, 50)
gc.QuadCurveTo(100, 10, 10, 10)
gc.Close()
gc.FillStroke()
// Save to file
draw2dpdf.SaveToPdfFile("hello.pdf", dest)
There are more examples here: https://github.com/llgcode/draw2d/tree/master/samples
Alternative backends
- Drawing on images is provided by the draw2d package.
- Drawing on opengl is provided by the draw2dgl package.
Acknowledgments
The pdf backend uses https://github.com/jung-kurt/gofpdf
# Functions
ConvertPath converts a paths to the pdf api.
NewGraphicContext creates a new pdf GraphicContext.
NewPdf creates a new pdf document with the draw2d fontfolder, adds a page and set fill color to white.
SaveToPdfFile creates and saves a pdf document to a file.
# Constants
DPI of a pdf document is fixed at 72.
# Structs
GraphicContext implements the draw2d.GraphicContext interface It provides draw2d with a pdf backend (based on gofpdf).
# Interfaces
Vectorizer defines the minimal interface for gofpdf.Fpdf to be passed to a PathConvertor.