PDF and Office processing for Go. Pure Go, single binary, deploys anywhere your application does.
Ten years in production. Commercial support included. Public vulnerability report security.unidoc.io
func GenerateInvoice(order Order, w io.Writer) error { c := creator.New() c.SetPageSize(creator.PageSizeLetter) tpl, _ := c.NewTemplate("invoice.tpl") tpl.SetContext(map[string]any{ "order_id": order.ID, "total": order.Total, "items": order.Items, }) return c.Write(w) }
production operation
code examples on GitHub
on Platinum plans
no CGO dependencies
Production-ready PDF templates for Go.
Every PDF below is actual output from a runnable Go example in unipdf-examples clone it, run it, adapt it.
What UniDoc does
Every PDF and Office operation your app needs
Everything you need for PDF and Office workflows in a single toolkit, with no hidden dependencies and no subprocess calls.
- UniPDFGenerate Turn data into polished PDFs invoices, statements, and reports that look designed
- UniPDFSign & Certify Legally-binding digital signatures with long-term validation: PAdES-B, LTV, and certificate chains that hold up in court
- UniPDFForm Fill & Flatten Fill PDF forms programmatically and flatten for archival or downstream processing
- UniPDFExtract Pull text, images, and table data from any PDF into structured, machine-readable output
- UniPDFMerge & Split Combine, reorder, rotate, and crop pages batch-safe for production pipelines
- UniPDFProtect & Encrypt Password protection, permission control, and PDF/A for long-term compliance
- UniHTMLHTML → PDF Render any HTML/CSS to pixel-accurate PDF, great for templated documents at scale
- UniOfficeDOCX / PPTX Generate and edit Word documents, spreadsheets, and presentations entirely in Go
- UniPDFWatermark & Stamp Overlay text or image watermarks across entire documents confidential stamps, branded headers, batch processing
- UniAIAI Extraction Extract structured JSON from complex PDFs tables, forms, and mixed layouts where rule-based parsing fails beta
Enterprise PDF library, security, compliance and supply chain.
Security teams, procurement leads, and GRC auditors ask hard questions. Here are the answers, with documentation to back them up.
Public vulnerability tracking
CVEs tracked and disclosed publicly at security.unidoc.io, not a PDF on request. Automated scanning on every release. Dependabot between releases. We file advisories before customers report issues, not after.
Visit security.unidoc.io →Clean supply chain — auditable in go.sum
UniPDF and UniOffice ship as a single Go module, no JVM, no native binary, no wrapper.
Go teams using other enterprise PDF libraries in production need a JVM, a native binary, or a REST sidecar in their deployment pipeline. UniDoc does not.
UniPDF and UniOffice each ship as a single, self-contained Go module, no JVM no native binary no subprocess. The full dependency tree is visible in go.sum and can be reviewed by your security team.
AI-assisted, human-accountable development
We use AI tooling to move faster, but every line that ships has been read and owned by an engineer, not generated and forgotten. No mystery commits, no autonomous merges. A human is accountable for every change, and the PR history to prove it goes back to 2016.
A complete legal framework
Our EULA, SLA, and Pay-As-You-Go Terms are publicly available. A commercial vendor you can name in your SBOM, evaluate in a vendor risk assessment, and reach under an SLA when something needs addressing.
Compliance-ready output
PDF/A-1b, PDF/A-3, and PDF/UA output for archival and accessibility compliance. PAdES-B and LTV-enabled digital signatures. Tested against real-world regulatory edge cases HIPAA, GDPR-adjacent document workflows, financial services archival requirements.
Ten years of commercial accountability
UniDoc ehf. has been a named, commercially operating legal entity since 2016. Not community-dependent a company with revenue incentive to keep the library alive, maintained, and secure. Put us in your SBOM. Cite us in your compliance documentation. Call us when something breaks in production at 2am. We'll be here.
Zero data retention using an offline license key.
UniDoc runs fully on your infrastructure. UniCloud uses minimal usage data for licensing, while the offline option requires no network calls ideal for secure environments.
Metered License
UniCloud is a cloud platform that provides customers with license management including metered API key and usage tracking.
- Sign up instantly at cloud.unidoc.io
- Pay-as-you-go usage
- Documents processed locally
- Usage metadata reported every 24h
- Ideal for: evaluation, cloud-native apps
True Zero Data Retention
The offline license key path has zero network calls of any kind. Validation is entirely local using RSA-SHA512 signature verification. UniDoc's servers have no visibility into whether, how often, or how much an offline customer uses the library.
- Cryptographic key, local validation
- Zero network calls, local validation only
- Air-gapped / regulated environments
- Nothing reaches UniDoc servers
- Ideal for: enterprise, healthcare, finance
Built for Go.
Not ported to it.
Most production-grade document libraries are built in Java or C++ and added to Go projects via REST APIs, Docker sidecars, or language wrappers. That approach works, but it means running a foreign runtime in your deployment pipeline, managing a dependency tree your Go security team cannot audit in go.sum, and introducing a new failure surface your on-call team has to understand.
UniDoc is written in pure Go from the ground up. Not a port, not a binding, not a wrapper around a C library. It deploys as a single Go binary. It runs where Go runs: Linux, macOS, Windows, Docker, and air-gapped environments with no additional infrastructure. Your go.sum contains the complete dependency tree. Your team can read it, audit it, and understand it.
For teams building document workflows in regulated industries, that is not a minor operational preference. It is the difference between a library that fits the architecture and one that requires a fundamental change to it.
Choosing a library isn't just about features.
Reliability, vendor accountability, and what happens when something breaks in production at 2am.
| Factor | UniDoc | Apryse / iText | Typical Go OSS |
|---|---|---|---|
| Language | Pure Go, no CGO | Java / .NET — Go needs a wrapper or sidecar | Go, but volunteer-maintained |
| Deployment | Zero external calls, air-gapped ready | On-prem option, but adds JVM or native binary | Varies, no guarantees |
| Supply chain | Auditable Go modules, no native dependencies | JVM or native binary — separate surface to audit | Minimal, but unsupported |
| Support | Commercial SLA, named vendor | Commercial SLA, large org | GitHub Issues, best effort |
| Abandonment risk | Commercial since 2016 | Well-funded but acquisitive consolidator | High — gofpdf archived 2021 |
Built for document-intensive sectors.
- Fintech & Banking: statements, KYC, transaction records
- Legal & Compliance: contracts, e-signatures, audit trails
- Insurance: policies, claims, underwriting documents
- Healthcare: patient records, lab reports, HIPAA compliance
- Government: secure workflows, accessibility compliance
- Education: transcripts, certificates, course materials
- SaaS & Platforms: multi-tenant document generation
- HR & Recruiting: offer letters, handbooks, onboarding
- Real Estate: lease agreements, disclosures, closing docs
- Logistics & Supply Chain: shipping docs, BOLs, customs
- Manufacturing: work orders, quality reports, SOPs
- Energy & Utilities: billing, statements, regulatory reports
Trusted in production by document-intensive teams.
UniDoc fitted our needs perfectly. We needed powerful features for transforming PDF files: changing color, adding watermarks, removing pages. Above and beyond that, they added significant new features when we asked, and fixed bugs very fast.
Support has been amazing, very responsive and professional. The software works well and appears to be actively in development, always receiving new features and improvements. It helped us move to market quickly without sacrificing quality.
As a top ELM provider we handle lots of document operations per second. UniDoc proved to be the most complete and developer-friendly library for Go out there, fast, simple, and handles the messy PDFs our customers actually send us.


