← Back to Open-Source PDF Software

Open-Source Go PDF Software

12 open-source PDF tools written in Go.

Go

pdf

Library

Go package (rsc.io/pdf) for reading PDF files: opens (optionally password-encrypted) files, reads the page tree, outline/bookmarks, per-page fonts and their metrics, and low-level page content (text runs and drawn rectangles) via a low-level Value/object API. A known unpatched stack-overflow DoS vulnerability is reported against it (GO-2026-5781).

DepreciatedStale
Go

docconv

CliDriverLibraryServer

Go library/CLI/HTTP service that converts PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages, and image files to plain text and metadata (JSON), with optional OCR support (via Tesseract, built with the `ocr` tag) for image-based input.

Stale
Go

GoFPDF

Library

Go library for generating PDFs: text with UTF-8/RTL support, standard/TrueType/Type1 fonts, JPEG/PNG/GIF/TIFF images and basic SVG, vector graphics (lines, Bézier curves, arcs, gradients, transparency), barcodes, charts, outline bookmarks, internal/external links, page templates and importing existing PDFs as templates, layers, document protection/encryption, and file attachments/annotations.

DepreciatedStale
Go

gopdf

Library

Go library for generating PDFs: Unicode/CJK subfont text with kerning, alignment, sub/superscript, RGB/CMYK color; vector shapes (lines, ovals, rounded rectangles, polygons, curves); JPG/PNG images with masking; password protection with permissions; headers/footers, links, transparency/blend modes; table layout; page rotation; and importing/reusing existing PDF pages as templates.

Go

uniDoc

Library

Go PDF library.

DepreciatedStale
Go

UniPDF

Library

Go PDF library (pure Go): generates reports/invoices with styled text and tables; creates and fills forms; merges, splits, reorders, and rotates pages (incl. N-up layouts); extracts text (with position/formatting), images, and tabular data to CSV; adds/converts images to PDF; removes or adds password protection; validates and applies digital signatures; compresses/optimizes files; adds watermarks; and supports CCITTFax/JBIG2 image decoding.

Go

gosseract

Library

Go wrapper around the Tesseract OCR C++ library: sets an input image and returns the OCR'd text, with support for multiple languages via trained-data files.

Go

goreport

Library

Go library (built on gopdf) for generating banded PDF reports — page headers/footers, grouped headers/summaries, detail bands, and a report summary — with text cells, lines, rectangles/ovals, JPEG images, TrueType fonts, and multiple page sizes/orientations.

Go

pdfcpu

CliLibrary

Go PDF processor (CLI + library) supporting PDF up to 2.0 (ISO 32000-2): validate, optimize, split, trim, and merge PDFs; encrypt/decrypt; resize, rotate, and crop pages; extract/manipulate images, fonts, and metadata; manage attachments and portfolios; validate, report, and remove digital signatures; add/remove stamps and watermarks; process forms, bookmarks, and annotations; and generate booklets, N-up/N-down layouts, grids, and posters.

Go

invoice-generator-api

LibraryWeb Api

REST API that generates invoices as PDFs from supplied details (invoice number, dates, sender/recipient, line items, terms), with SDKs for JS/Node, Python, C#/.NET, PHP, Go, Dart, and Android.

Go

PDF Guru

Library

Self-hostable 'knowledge converter' that extracts highlighted text, formulas, and images from PDFs (plus Word/Excel/images, WeChat Reading notes, and mind maps) to generate Anki flashcards, using an LLM (Gemini, GPT-4, Claude, etc.) to identify key concepts automatically; also batch-exports Anki decks back to PDF.

Go

Athenapdf

CliDockerServer

Docker-packaged drop-in alternative to wkhtmltopdf: a CLI (`athenapdf`, built on Electron) for direct HTML-to-PDF conversion with an 'aggressive mode' that strips page clutter, plus a `weaver` HTTP microservice (Go) for running conversions as a scalable, Kubernetes/AWS-ECS-deployable service.

DepreciatedStale