News and announcements including new releases, bug fixes and anything newsworthy.

Compressing and Optimizing PDFs in Pure Golang using UniPDF

With the release of UniPDF v3, the library included support for optimizing PDFs, composite fonts (Unicode characters), digital signatures and, a powerful text and image extraction feature. The adoption of Unicode characters now allows the library to handle the processing and creation of more complex PDF documents that contain Unicode text and symbols. Some minor updates of v3 were styled paragraphs, invoice generation, table of contents and many more that you can read about in the v3 press release.

The ability to optimize (compress) PDF output was an important update and also a difficult one. It involves a multi-step procedure, which is explained briefly in the following points:

  1. Combine duplicate objects and streams
  2. Combining indirect objects to compressed object streams
  3. Reducing resolutions of images
  4. Higher compression of images and objects


UniPDF version 3 released

We are happy to announce the release of UniPDF (formerly UniDoc) version 3.0.0, a comprehensive PDF library for Golang. The new release contains multiple new features as well as stronger foundations for processing and generating PDF files.

In this release article, we dive into what has changed as well as going through the development journey and the road ahead.


Launching UniCLI

We are proud to announce that we've released UniCLI, a CLI tool that makes working with PDF a breeze and a perfect way to get started with UniPDF.

The purpose of UniCLI as an supplementary tool for UniPDF is threefold:

  • Prototype - Quickly checking if UniPDF can do a specific routine task
  • Handy - Take care of simple PDF tasks on the command line: Quickly split and merge files on the command line.
  • Aid development: E.g. debugging and getting internal info from PDF files to simplify the development


How UniDoc powers PaperCut's core features

Peter Williams, lead developer of enabling technologies at PaperCut, shared his experience with us on how UniDoc enables Papercut, a print management software, to develop and utilize their product's core features such as:

  • Detecting the number of pages and number of color pages in a document.

  • Converting documents to grayscale.

  • Adding watermarks to documents before printing.


Generating PDF invoices with Go and UniDoc

Creating good-looking PDF invoices from your application tends up to be tedious most of the time. You need to deal with different layouts, design, text-positioning, etc., and that's something most software developers want to avoid.

With Unidoc, a comprehensive Golang PDF Library, you can easily create beautiful PDF invoices from your Go application with only a few lines of code.

The article includes simple and advanced invoice generation examples.


UniDoc v2 Released

Today we are happy to release UniDoc version 2.0.0, a comprehensive open source PDF library for Golang.

In this announcement, we cover some of the key changes with a bit of background how it developed, as well as outlining the main new features and providing references to relevant examples.


Launching UniDoc

Today we are releasing UniDoc version 1.0, a comprehensive open source PDF toolkit written in Go.

At FoxyUtils we have been using various libraries for PDF manipulation over the years and never been completely happy with what we have used. In the last couple of years we have been migrating our code-base to Golang and have completed porting of our existing python code.