Digitally signing a PDF with the Cloud Signature Consortium API
How to use a new open-source API from BFO to digitally sign using a key hosted remotely managed by a vendor supporting the Cloud Signature Consortium
BFO PDF Library 2.28.5 and Report Generator 1.2.10
A release announcement for a new PDF Library and Report Generator, which now supports the jakarta.servlet package.
BFO PDF Library 2.28.4 - with PDF/UA-2 and WTPDF
This is the PDF/UA-2 release, and it also adds code for converting PDF to HTML. Read on for details.
BFO PDF Library 2.28.3 is released
Release 2.28.3 of our PDF Library adds per-separation rendering for output preview, Factur-X, Document Parts and more.
Print-preview rendering
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 Publisher 1.3 released
The first update to BFO Publisher for 2023 adds some new features.
BFO PDF Library 2.28.2 is released
Release 2.28.2 of our PDF Library adds a lot of under-the-hood changes to support the upcoming PDF/UA-2 profile.
BFO PDF Library 2.28.1 - we broke timestamping
Our last release, only ten days ago, broke applying a timestamp with Digital Signatures. This is a fix.
BFO PDF Library 2.28 - security and signatures
A minor security issue has been discovered and fixed in this release, and signatures have had a lot of improvements.
Digitally signing a PDF with the GlobalSign Qualified Signing Service
GlobalSign have updated their digital signing service and now offer qualified signatures. We show you how to integrate this with our PDF library.
Odds and Ends: Dates, Timezones and apostrophes
An article on the oddities of dates in PDF.
BFO PDF Library 2.27.2 - introducing the Arlington Model
A slightly overdue announcement of BFO PDF Library 2.27.2, which introduces the "Arlington Model": a vendor-neutral validation model for PDF.
BFO PDF Library 2.27 - a PDF/A update
Details on the latest release of our PDF Library, which has many fixes and improvements for PDF/A
Announcing BFO Publisher
Our first completely new product in 20 years, we're finally able to tell you about it
BFO PDF Library 2.26.4 and Report Generator 1.2.6
Details on the latest release of our PDF Library, and the Report Generator build with it. This is the "certified with Java 17" release.,
BFO and Log4J
Everyone is asking us about Log4J. Here's a quick statement.
BFO PDF Library 2.26.2 and Report Generator 1.2.5
Details on the latest release of our PDF Library, and the Report Generator build with it. This is the "certified with Java 17" release.,
PDF/A at scale: analysis of a mass conversion
We've been running our PDF/A conversion tools across some large Corpora. Here's what we've learned in the process.
BFO PDF Library 2.26.1 release announcement
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.
Using Webswing to simplify PDF Viewer deployment
The advantages of using Webswing to run PDF Viewer via a standard web browser
Converting PDF to PDF/A
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.26 - a significant release
Our latest PDF Library release includes a lot of new functionality. Here's a summary, other articles will follow with details.
Signing a PDF with Amazon CloudHSM
A quick note on signing PDFs with the Amazon CloudHSM
BFO PDF Library 2.25 - what's new?
A quick summary of some of the new features in the PDF library in the latest release.
BFO PDF Library 2.24.4 - what's new?
A quick summary of some of the new features in the PDF library in the last six months. Again.
BFO PDF Library 2.24.2 - what's new?
A quick summary of some of the new features in the PDF library in the last six months.
BFO Report Generator 1.2 with PDF/UA support
Built on our new PDF Library release, the latest Report Generator can easily create valid PDF/UA Documents.
BFO PDF Library 2.24: a PDF/UA deep dive
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.
Imperfect PDF Digital Signatures
Why policy decisions by Adobe are damaging trust in PDF digital signatures
Perfect PDF Digital Signatures, EU style
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
BFO releases Java PDF Library 2.23.2
Release 2.23.2 adds a fix for a largely theoretical attack on PDF digital signatures, specifically the way they are verified with our API.
BFO PDF Library 2.23 - the Java 11 release
Details on the recent 2.23 release of the PDF Library, and on where we are with Java version support
BFO PDF Library 2.22.2
This one has been a while cooking, because it includes a JPEG2000 decoder and a rewritten Indic layout engine
JPEG2000, Java and PDF
This article shows how to add support for JPEG2000 image decoding to the PDF Library.hi (updated for 2018)
Digitally signing a PDF with the GlobalSign Digital Signing Service
GlobalSign have recently launched a digital signing service, and in this article we show you how to integrate this with our PDF library.
How to create very, very large pages in PDF
In the unlikely event you wish to make pages larger them 25m², here'a s quick primer on how to do it with the latest release.
BFO releases Java PDF Library 2.22
Changes include a reengineered text layout engine, updated internal Unicode model to version 10.0 and OpenType font parser to 1.8. GlobalSignDSS class added to create signatures that work with GlobalSign's digital signing service.
BFO PDF Library 2.21: some new features
Some details on our latest PDF Library release
Verify PDFA online
We've turned our PDF/A verification code into a public service, which you can use to compare our results to other testers.
BFO releases Java PDF Library 2.20.3
Our latest release contains updates, support for non-standard form fields and the usual minor array of bug fixes.
PDF417 Barcodes, or, the nice thing about standards is there are so many to choose from.
A mere 11 years after it was introduced, we have finally noticed an incompatible change in the PDF417 barcode specification.
BFO releases Java PDF Library 2.20.2
In our latest update we've added several new features and created fixes for some unsual issues.
Creation of PDF/UA and PDF/A-3a documents
Our latest 2.20 release of the PDF Library adds full support for the creation of PDF/UA compliant documents, and hopefully this article will shed a little light on what they are.
BFO releases Java PDF Library 2.20
Our latest update includes several new features and fixes for some obscure problems.
BFO releases Java PDF Library 2.19
Our latest release includes several new features, such as supporting PDF/UA standards.
How to Build an Image Extraction Webapp using Java
Our second image extraction article, this time using a java webapp.
Extracting Images from PDF with the BFO PDF Library
The first of two articles demonstrating how to extract bitmap images from PDFs using the BFO PDF Library API.
STMicroelectronics & BFO celebrate 10 year Anniversary
Europe's largest semiconductor chip manufacturer celebrate tenth anniversary deploying the BFO PDF Library Extended.
BFO releases Java PDF Library 2.18.8
Our latest release includes some basic bug fixes.
Merging and Concatenating PDFs
A few simple examples for how to merge PDFs with the BFO PDF Library.
Working with LayoutBox
How to format text with the LayoutBox class.
BFO Launch New Website!
At long last, our new website has been released. Same address but new content coming soon.
Long-Term Validation of Signatures
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.
Software developers delighted with "wonderful" PDF Library
Swiss software house hails BFO for having the most stable support and cleanest API in the Java PDF market.
PDF Library 2.18 and the OutputProfiler class
We detail the major new change in 2.18, the OutputProfiler class
Big Faceless releases PDF Library 2.17.1
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...
Software house phihochzwei UG use BFO to speed up development
German based software developers use BFOs PDF Library, Viewer & Report Generator to satisfy customer requirements.
Text Highlighting with the PDF Viewer
Here are a couple of examples of highlighting & redacting text with the BFO PDF Viewer.
New features in the PDF Library 2.16
Our major new release has been several months coming - here's why.
Text Extraction Using BFOs PDF Library
How to extract text from a PDF using BFO's PDF Library API. We will show you with code examples how it can be done.
New features in the PDF Library 2.15
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...
BFO PDF Library 2.15 - but what happened to 2.14.1?
You released 2.14.1 of your PDF API yesterday, and today there's a 2.15. What are you people playing at? Read on, we'll explain.
Valuation Företagsvärderingar - creating professional PDF reports & graphs with BFO Software
Swedish company valuations leader creates valuation reports for clients with the BFO Report Generator and BFO Graph Library.
Archiving PDF Documents with BFO for the Austrian Notaries Chamber
Long term PDF/A archiving for the Austrian Notaries Chamber, thanks to cyberDOC and BFO.
Converting PDFs to bitmap PDFs
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.
ObjectiveIT Integrates BFOs Report Generator into Insurance Tariff Comparison Software
ObjectiveIT develops an insurance tariff comparison solution for their insurance broker clients with the Report Generator.
BFO releases Java PDF Library 2.11.24
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
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
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
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...
How to print with "Comments Summary"
This article shows how you can create a custom viewer feature that duplicates the functionality of Acrobat's "Print with Comments Summary" feature.
New features in PDF Library 2.12
Yesterday we released our first PDF Library for a few months, version 2.12, so it's a good to give a bit of a summary of the changes
Client Customizes PDF Viewer Using Source Code
Client adopts BFO's customizable Java PDF Viewer for their project.
New features in the PDF Library 2.11.25
We've recently released version 2.11.25 - here's a quick summary of some of the features.
Barcode Fields
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
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
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.
Create PDF Tax Receipts in Real-Time Using BFOs Report Generator
Benevity, a micro-donation platform, implements BFOs Java Report Generator to create PDF receipts and invoices on the fly.
Reader Extensions, and why they break
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.
BFO releases Java PDF Library 2.11.24
We've just released 2.11.24 of our PDF Library which has our latest round of bugfixes and improvements. Download it from the the usual location
University Goes Paperless with BFOs Java PDF Library
UK University Integrates BFO's Java PDF Library.
OpenType Layout in PDF
How to use the new OpenType layout features in the PDF Library and Report Generator.
Using Java to Print PDF Documents
Printing PDFs is easy with the Java PDF API. In this article we go through the Java Print API at a high level, then guide you through the details in case things go wrong.
PDF/A Support for BFOs Report Generator
Create PDF/A-1b documents using BFOs Report Generator.
Odds and Ends: avoiding non-heap OutOfMemory
When working with Java APIs that use native code you can hit an OutOfMemory in the PermGen space due to weaknesses in Java's garbage collectors. Here's an ugly little hack that might help.
PDF Text Extraction in Java
How to extract text from a PDF in Java? Using our API of course!
Extending the PDF Viewer - Part 2
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.
New features in Report Generator 1.1.51
The Report Generator has got a few new tricks in release 1.1.51. Graph Library integration, Flash, PDF sets and Xinclude - read on for a summary and some examples.
PDF/A Standard - Long Term Archiving Solutions
PDF/A is the ISO standard for the digital preservation and long term archiving of electronic documents. The ability to search documents, include digitial signatures and reduced file size is resulting in both Governments and corporations adopting the PDF/A standard.
Using Acrobat JavaScript
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.
Yet another happy BFO PDF Library customer
QNT Systemy Informatyczne is a leading manufacturer of software for government organizations in Poland. We develop software for accounting, payroll, human resources and many other fields.
Perfect PDF Digital Signatures
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.
Smaller, Faster, Better - BFO Release New PDF Library
The recent PDF Library 2.11.15 has a few highlights, including better support for digital signing from hardware, generation of "Aztec Code" barcodes, basic support for Flash file embedding in PDF, and a large number of bug fixes and improvements. This release offers improvements in memory and speed across the board, with tweaks to the low level data-structures that underly all PDFs. The Jar has shrunk by 10% as well, and our packed PDF Viewer Applet now scrapes in at just under 800KB.
Odds and Ends: Creating a new X.509 Certificate
A quick tip completely unrelated to PDF or Graphs: How to create a new self-signed X.509 Certificate with Java.
Case Study - Project iDEA: intelligent Digital-Emotion Analyser Library
iDEA: intelligent Digital-Emotion Analyser. A search engine that extracts events from search results, producing a timeline of the main events associated with whatever that was searched; otherwise known as a "Emotion Timewave".
"Emotion Timewave" Search Engine set to use BFO Graph Library
A computer scientist from Bath University is creating an Intelligent Digital-Emotion Analyser Library (iDEA) with functionality from the BFO Graph Library
BFO release PDF Library and PDF Viewer update
Version 2.11.12 of the PDF Library and PDF Viewer fixes a small memory leak in the Viewer which could occur during text selection. Some new methods for working with the Adobe Highlight File Format have been included, along with a large number of minor bugfixes and improvements since the previous release in June.
Trimming whitespace from a TIFF before saving
Sometimes when you convert a PDF to TIFF, you're left with a lot of whitespace around the content of the page. This article shows an easy way to remove it.
Watermarking a Report
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
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.
Extending the PDF Viewer - Part 1
The BFO PDF Viewer has a simple framework and API for adding new features. This article will show how to add a simple widget to the toolbar and then add more features that interact with the PDF document itself.
Public Key Encryption and PDF
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.
Graphs in dynamic web pages
The traditional approach to using the BFO Graph Library in web pages has been to use the JSP tag library so that the server processes XML in JSP pages and replaces it with generated graphs. However if you want to include BFO graphs in non JSP web pages that use AJAX to load data dynamically then the tag library is not very useful. Although the Graph Library has a SOAP interface for web service access SOAP is not well suited to being used from web pages, so instead we will use the plain XML interface to the Graph Library to dynamically add charts to web pages.
QR-Code and other barcodes
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.
Silently* print a PDF from a web browser
We occasionally are asked how to print a PDF from a web browser without displaying a dialog. There isn't an easy answer to this, but you can get fairly close with our Viewer API.
Creating TIFF Class F Images
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.
Logging with BFO
The release of 2.11.6 of the BFO PDF library sees the introduction of a consolidated logging API that can be integrated into customer's existing logging systems. Read on to find out how to configure BFO products to log with Log4J or java.util.logging.
Using version 2.0 of the BFO Graph Library with BFO Report Generator
BFO Report Generator by default includes the BFO Graph Library, but the older version 1.0 library. While this is adequate for many users, people may want to use the new graphs and features available in version 2.0 of the Graph library. This article will show how to achieve this.
Funnel Charts
With the release of version 2.4 of the BFO Graph library it is now possible to create "funnel charts" This blog article will explain how to use the new chart type and provide examples of the different styles that can be created.
Creating PDF/A documents with the BFO library
PDF/A is a standardised subset of PDF used for long-term archive storage. The PDF/A format ensures that documents can be correctly rendered hundreds of years from now in the absence of standard frameworks we take for granted today. Read more to find out how to author PDF/A documents with the BFO PDF library.
Gotchas when reading and writing PDF to files
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
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...
New features for Java applets
Sun have rewritten the Java browser plugin in Java 6 Update 10 to address many of the issues that people have experienced with deploying Java applets, and to add new features such as dragging applets out of the browser. We have updated the PDF Viewer Applet to take advantage of these features, and we'll show how you can update your own deployment of the PDF Viewer Applet, or any other applet, to do the same.
BFO releases Java PDF Library 2.10.6 and Report Generator 1.1.40
BFO have simultaneously released new versions of their Java PDF Library and Java Report Generator tools.
Big Faceless releases Java PDF Library 2.10.4
BFO are pleased to announce the 2.10.4 release of their PDF library. Several months in the making, it contains a large number of changes, mostly under the hood. For the end user, the primary new features will be the new single column display in the Viewer; improvements to allow the library to work with XFA-only PDFs and the addition of the new USPS "IntelligentMail" BarCode. There was also a larg...
Case Study - Edinburgh University Student integrates Graph Library
Student uses Graph Library engine for visualization of statistical data in his informatics project.
BFO Technical Support 'second to none' says top Adobe provider
BFO are pleased to add 4Point, the world's largest Adobe consulting practice, to its enviable client base. A spokesman for 4Point said, "We used (BFO's) PDF Library to meet our client's need for rich inter-document navigation. With (the) PDF Library we were able to stitch together flat PDFs, create a set of inter-document linking bookmarks, and hyperlink inter-documents via existing and built ta...
Converting PDF to TIFF, PNG and JPEG
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
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
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
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.
ConverSpeech - Text data mining for model organism curation
Data mining software company harness BFOs PDF Library functionality to generate PDFs and extract text from documents.
Columbia University Acquire Big Faceless Report Generator
Columbia University acquires Big Faceless Report Generator for integration in their web portal student application process.
British Columbia Attorney General's Office
The Big Faceless library is being used by the British Columbia Ministry of the Attorney General to help process electronically filed court documents.