Blog

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

UniPDF JBIG2 Encoding Support in Golang

UniPDF is constantly improving itself and a while ago, we had achieved CCITT encoding, which allowed our users to better optimize PDFs. We’ve set another milestone and have integrated JBIG2 compression standard in our library. When it comes to the optimization of black and white images, JBIG2 is recognized as the best out there and offers a compression rate of 100:1.

Read more...

Creating PDF reports in Golang

Creating high quality PDF reports can be a challenge for an organization. A company has to create reports for budget, daily activities and project descriptions amongst many more. Creating these reports can be a time consuming process and the majority of them follow a specific template with minimal changes.

For such large-scale repetitive PDF reports that usually follow a template, it is wise to use a software library. UniPDF is one such GoLang based library that offers a diverse set of functionalities that can simplify the task of report generation.

Read more...

Creating Word Documents in Golang Using a Template

Whether you're a business owner reaching out to your clients or a marketer reaching out to potential customers, you write letters and articles to grab their attention. One important factor in grabbing the reader's attention is the personalization of the letter. Using the reader's name and other personal information can grab their attention and make it clear that you are actually interested in them.

Read more...

Applying Digital Signature to Your PDF

UniPDF is one of its kind implementation in Golang and supports digital signature since the release of UniPDF v3. The library supports multi-signatures in PDF documents using its incremental writing approach. This enables UniPDF to sign a document multiple times without invalidating its hash. How this works is that when a new signature is applied on the document, the original version is left intact and only the changes from the previous revisions are added.

Read more...

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

Read more...

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.

Read more...

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

Read more...

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.

Read more...

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.

Read more...

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.

Read more...

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.

Read more...