unipdf

Golang PDF library for creating and processing PDF files (pure go)

Github stars Tracking Chart

UniPDF - PDF for Go

UniDoc's UniPDF (formerly unidoc) is a PDF library for Go (golang) with capabilities for
creating and reading, processing PDF files. The library is written and supported by
FoxyUtils.com, where the library is used to power many of its services.

Build Status
GitHub (pre-)release
License: AGPL v3
Go Report Card
GoDoc

Features

Multiple examples are provided in our example repository https://github.com/unidoc/unidoc-examples
as well as documented examples on our website.

Contact us if you need any specific examples.

Installation

With modules:

go get github.com/unidoc/unipdf/v3

With GOPATH:

go get github.com/unidoc/unipdf/...

How can I convince myself and my boss to buy unipdf rather using a free alternative?

The choice is yours. There are multiple respectable efforts out there that can do many good things.

In UniDoc, we work hard to provide production quality builds taking every detail into consideration and providing excellent support to our customers. See our testimonials for example.

Security. We take security very seriously and we restrict access to github.com/unidoc/unipdf repository with protected branches and only the founders have access and every commit is reviewed prior to being accepted.

The profits are invested back into making unipdf better. We want to make the best possible product and in order to do that we need the best people to contribute. A large fraction of the profits made goes back into developing unipdf. That way we have been able to get many excellent people to work and contribute to unipdf that would not be able to contribute their work for free.

Contributing

CLA assistant

All contributors must sign a contributor license agreement before their code will be reviewed and merged.

Support and consulting

Please email us at support@unidoc.io for any queries.

If you have any specific tasks that need to be done, we offer consulting in certain cases.
Please contact us with a brief summary of what you need and we will get back to you with a quote, if appropriate.

Licensing Information

This library (unipdf) has a dual license, a commercial one suitable for closed source projects and an
AGPL license that can be used in open source software.

Depending on your needs, you must choose one of them and follow its policies. A detail of the policies
and agreements for each license type are available in the LICENSE.COMMERCIAL
and LICENSE.AGPL files.

In brief, purchasing a license is mandatory as soon as you develop activities
distributing the unipdf software inside your product or deploying it on a network
without disclosing the source code of your own applications under the AGPL license.
These activities include:

  • offering services as an application service provider or over-network application programming interface (API)
  • creating/manipulating documents for users in a web/server/cloud application
  • shipping unipdf with a closed source product

Please see pricing to purchase a commercial license or contact sales at sales@unidoc.io
for more info.

Getting Rid of the Watermark - Get a License

Out of the box - unipdf is unlicensed and outputs a watermark on all pages, perfect for prototyping.
To use unipdf in your projects, you need to get a license.

Get your license on https://unidoc.io.

The easiest way to load your license is through environment variables, for example:

export UNIPDF_CUSTOMER_NAME=UniDoc
export UNIPDF_LICENSE_PATH=/path/to/licenses/UniDoc.txt

Alternatively you can load the license in code, simply do:

licenseKey := "... your license here ..."
customerName := `name of license holder`

err := license.SetLicenseKey(licenseKey, customerName)
if err != nil {
    fmt.Printf("Error loading license: %v\n", err)
    os.Exit(1)
}

Main metrics

Overview
Name With Ownerunidoc/unipdf
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:Other
所有者活动
Created At2019-05-16 11:00:38
Pushed At2025-05-10 17:37:59
Last Commit At2025-05-10 19:28:12
Release Count87
Last Release Namev4.0.0 (Posted on )
First Release Namev3.0.0 (Posted on )
用户参与
Stargazers Count2.8k
Watchers Count29
Fork Count266
Commits Count1.8k
Has Issues Enabled
Issues Count321
Issue Open Count30
Pull Requests Count240
Pull Requests Open Count0
Pull Requests Close Count22
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private