Blog articles by Mike Bremford

Print-preview rendering

by Mike Bremford

Creating a bitmap image from a PDF is normally done in RGB, but when that PDF contains overprinting or depends on CMYK blending, you need something more. This article tells you how.

BFO PDF Library 2.26.1 release announcement

by Mike Bremford

Coming two months after one of our major releases, the 2.26.1 release has seen a large number of small changes based on testing on tens of thousands of documents. But we think the one you're going to notice is the improvements to logging. Read on for more detail.

Converting PDF to PDF/A

by Mike Bremford

Converting PDF to PDF/A has always been possible with our API, but we largely left our customers to choose their own approach. Release 2.26 changes that - we now have a very powerful new API for conversion.

BFO PDF Library 2.24: a PDF/UA deep dive

by Mike Bremford

The new release of our PDF Library has completely rewritten support for the Structure Tree, required for PDF/UA. While mainly to support the addition of PDF/UA to the Report Generator, if you're working with Tagged PDF this release has lots for you.

Perfect PDF Digital Signatures, EU style

by Mike Bremford

An updated version of the article we wrote 8 years ago, exploring how to create digital signatures with our API that are automatically approved by Acrobat: this time, with an EU Identity card

Verify PDFA online

by Mike Bremford

We've turned our PDF/A verification code into a public service, which you can use to compare our results to other testers.

Long-Term Validation of Signatures

by Mike Bremford

One of the main new features in release 2.18.2 of our PDF Library was support for "Long Term Validation" of signatures. The purpose of these isn't immediately clear - read on for details.

Big Faceless releases PDF Library 2.17.1

by Mike Bremford

BFO have just released a new update to their PDF Library, the first for a few months. Here we describe a few features that are in the new release in a bit more detail. Integrating Logging messages with the viewer Our logging framework is a thin wrapper around whichever of Log4J or java.util.logging is configured, which means it's essentially a functional interface. Lo...

New features in the PDF Library 2.15

by Mike Bremford

It's been 4 months since our last PDF API release, what does it have in store? Besides changes to the page list, there are two major new areas: PDF/A-2 and PDF/A-3 support has been added The Swing classes now support linearized loading New PDF/A revisions We're seeing more and more companies adopt ISO 19005, aka PDF/A, and we're pleased to have added support fo...

Converting PDFs to bitmap PDFs

by Mike Bremford

There are many situations where a PDF has to be "rasterized" - the contents of each page turned into a bitmap image - such as when a PDF is being converted to PDF/A and the page contents cannot be repaired. This article shows how to do it efficiently.

BFO releases Java PDF Library 2.11.24

by Mike Bremford

We've put out our first PDF library in 5 months, and although there are a lot of small changes there are very few headline grabbers. Perhaps the most interesting is the ability to restrict operations in the viewer with permissions - here we go into that framework in a little more detail.

The Firefox pdf.js Viewer

by Mike Bremford

We've been getting a few emails asking about the new "pdf.js" viewer in Firefox, and why some of our documents don't render correctly in that viewer. Read on to find out why.

Odds and Ends: PDF Valentines Cards

by Mike Bremford

This challenge was too good to resist. We've neglected to make our cards PDF/A compliant, which you are welcome to interpret as a commentary on the impermanence of romantic love, or perhaps it would have just taken longer to do. Either way we hope you had a happy Hallmark day. The code is below, and if you want to generate your own cards for someone you love (or even someone you don't) you ca...

XFA Forms

by Mike Bremford

The "P" in PDF stands for "Portable", and PDF is now an ISO Specification. So you could be forgiven for being surprised when you learn about XFA. We're asked about it a lot so what follows is a bit of a FAQ. What is XFA XFA stands for "XML Forms Architecture", and it's been part of Acrobat since Acrobat 6. It's an XML syntax which defines the document (the whole document, not just the fo...

Barcode Fields

by Mike Bremford

Acrobat added dynamically updated barcode fields in Acrobat 7, but they haven't been documented until now, in the upcoming PDF 2.0 specification. This article shows you how to use them to make data extraction from printed forms a lot easier.

Handwritten Digital Signatures

by Mike Bremford

A new feature in 2.11.25 of the PDF Library is the ability to capture handwritten signatures from an iPad, iPhone or Android tablet. Useful? Maybe not, but it is kinda neat as you can see in the video.

Roll your own applet: the definitive guide

by Mike Bremford

We've covered them before, but Applets - a technology launched in 1996 with Java 1.0 - just keep changing. What follows is the definitive, step-by-step guide to compiling our viewer as an Applet useful as of mid-2012.

Reader Extensions, and why they break

by Mike Bremford

Usually on this blog we cover details of things you can do with our PDF API, so it's a bit of a departure to cover something we can't. Read on to learn about Reader Extensions and the limitations they imply.

Extending the PDF Viewer - Part 2

by Mike Bremford

In the second part of our "extending the viewer" series, we show you how to go all the way - we create a new "Custom Stamp" feature, then show you how to compile it, bundle it with the Jar than prepare the Jar in the most efficient way for applet delivery.

Using Acrobat JavaScript

by Mike Bremford

PDF documents can contain JavaScript, which opens up all sorts of possibilities - not all of which are gaping security holes. Here's an article showing how to use it in PDF - both how to embed it from the Report Generator, and how to run it in the Viewer.

Perfect PDF Digital Signatures

by Mike Bremford

Not all digital signatures are created equal. Our PDF Library has been able to digitally sign documents for years, but digitally signing a file with a key that's trusted by Acrobat is a little trickier, and requires hardware. Here, we show you how to do it.

Watermarking a Report

by Mike Bremford

The Report Generator is a layer on top of the PDF Library API which converts XML to PDF. The XML is much easier to work with, but there are always situations where you'll need the flexibility of the API. Here we show you how to do this, and we also present a neat and non-obvious technique for watermarking.

Combining Ant, Jar, Signatures and Pack200

by Mike Bremford

If you're deploying Java code as Applets, Pack 200 compression can reduce the size of your download by 70%. This article shows how to build digitally signed Jars with Pack 200 compression using Apache Ant. It can be applied to any code, not just BFO code.

Public Key Encryption and PDF

by Mike Bremford

Most people when they think of protecting a PDF, think of a password. However this isn't the only way to do it. Both Acrobat and our PDF viewer allow a PDF to be decrypted using a private key which is specific to a user. In this article we show you how to create a key, encrypt a document for that key and then decrypt it again.

QR-Code and other barcodes

by Mike Bremford

The PDF Library supports a large number of barcodes, including QR-Code. This article shows some tricks you can do with these dense 2D barcodes.

Creating TIFF Class F Images

by Mike Bremford

The BFO PDF Library can create TIFF images from PDF using a number of compression algorithms, including Group 4. If for some reason you want to use Group 3 compression you'll need to use a third party library like JAI. This article shows you how.

Gotchas when reading and writing PDF to files

by Mike Bremford

Reading and writing PDF documents to and from the same disk file can have unexpected consequences. This article covers what to watch out for if you do this, and details a few ways to get around the problems it can cause, including the new features added in 2.11.2 for this problem.

BFO releases Java PDF library 2.11.2

by Mike Bremford

BFO have released a new version of their Java PDF Library. Version 2.11.2 fixes an issue with IBM versions of Java that was introduced in the previous release - a change of obfuscator clashed with a bug in some releases of the JRE supplied with Websphere. There are fixes for Customers reading and writing PDFs to the same File, a memory leak in the Viewer has been fixed, and a number of bugs have...

Converting PDF to TIFF, PNG and JPEG

by Mike Bremford

We're asked some questions more than others at BFO, and one of the most common concerns conversion of a PDF to a bitmap image format - typically TIFF, but sometimes JPEG or another format. This process is called "rasterization" and while it's very easy to do with the "extended plus viewer" version of our PDF Library, it's worth going over in more detail.

Linearized PDF

by Mike Bremford

The 2.10.3 release of the PDF library adds support for writing "Linearized" PDF documents, sometimes called "Web Optimized" or "Fast Web View" enabled. This feature has been a part of the PDF specification since Acrobat 3.0, but it's poorly understood even by developers.

Big Faceless releases PDF Library 2.10.3

by Mike Bremford

BFO have released a major update to their PDF Library. The 2.10.3 release has a number of significant improvements across the board: for the first time the PDF library can now write Linearized, or "web-optimized" PDF's, which are optimized for faster display in a web browser. Text extraction has been rewritten and is now significantly faster and more accurate. A bug causing higher than necessary ...

The BFO Blog arrives

by Mike Bremford

Hello and welcome to the latest section of BFO's website, the "BFO Blog". We'll be using this section to disseminate useful bits of information that we think our customers might want to hear, but that don't really fit anywhere else.