Odds and Ends: avoiding non-heap OutOfMemory
Free the Permanent Generation!
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.
Extending the PDF Viewer - Part 2
Creating a new Stamp feature and bundling it for an applet
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
Graphs, Flash, PDF Sets and Xinclude
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
It's not just for calculating totals.
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
Adobe CDS, or, how to ensure your Signature no longer has problems in Acrobat
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
How to create a self-signed X.509 Certificate in Java
A quick tip completely unrelated to PDF or Graphs: How to create a new self-signed X.509 Certificate with Java.
"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
Going beyond XML, and custom Blend Modes
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
Signing and Compressing your code for applets
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
Encrypting a PDF for individual users
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.
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
* almost
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.