New in version 2.14.1

December 13th, 2013
  • Will prompt if a password is required when loading a PDF over HTTP.
  • Adds a cut/paste option for pages, and correctly orders pages cut/pasted this way.
  • Fixes a failure to redraw after reordering pages in some circumstances.

New in version 2.13.2 (May 9th, 2013)

  • A Java 1.5 incompatible change in a previous release was reverted.
  • It is ensured that the action() method is always called in features, which is required by overloaders.
  • An occasional NPE from PagePanel.doLayout when deleting annotations was fixed.
  • The order of activated/loaded/deactived events was fixed.
  • The French translation was improved.

New in version 2.13.1 (April 23rd, 2013)

  • In the viewer, this release allows ViewerWidgets to define javax.swing.Action and share that action between buttons, menus, and (potentially) other objects (this makes for easier code when the Action has complex rules for when it's enabled (e.g., it depends on the DocumentPanel permission); see the ViewerWidget API docs for details), fixes a memory leak when repeatedly opening Documents in a viewer without MultiWindow (added in the previous release), corrects the order of DocumentPanelEvents when closing Documents, and adds a dual-page view (two-up).

New in version 2.12 (October 29th, 2012)

  • Viewer: changing or closing a PDF in a DocumentPanel may now call PDF.close(). This will immediately free resources for the PDF (allowing the file to be deleted on Windows), but if anyone is still holding a link to the PDF object after its DocumentPanel has closed, it will cause problems.
  • Viewer: PagePanel has been completely refactored to better handle interruptions and fix a number of special case rendering errors. Note that this release does not allow the page to be changed once set.
  • Viewer: Windows L&F now has the Cancel button on the right (the Windows way)

New in version 2.11.25 (July 17th, 2012)

  • In Viewer, a SelectArea tool and an associated AreaSelectionAction were added, and TextSelectAction was changed from an abstract class to an interface to match.
  • A CropPage feature was added as an AreaSelectionAction.
  • MultiPageDocumentViewport was rewritten for efficiency, particularly when scrolling rapidly with a mouse wheel. Smooth scrolling was added where possible.
  • The ability to capture handwritten signatures using an iPad, iPhone, or Android device via the new SignatureCapture feature (not on by default) was added

New in version 2.11.23 (May 3rd, 2012)

  • A crash and/or incorrect glyph widths in the resulting document when merging certain types of font with the MergeResources feature was fixed.
  • The memory footprint when profiling or extracting text from documents with large bitmap images was reduced.
  • An issue with the OpenType layout engine that would prevent features from being set on digits was fixed.
  • A minor deviation from spec for the StandardFont class was fixed.

New in version 2.11.19 (October 31st, 2011)

  • Verified API against Java 7 and fixed some Java 1.4 compatibility issues
  • JBIG2 classes from JPedal are now included and have been optimized. There's no longer any need to use "jbig2dec" or include the "jbig2.jar" in your classpath.
  • Speed improvements for text extraction and PDF creation
  • Improvements to XFDF reading and writing - properly handles more unusual annotation types. Also added JavaScript import from FDF - for FDF files containing JavaScript THIS MAY CAUSE JAVASCRIPT TO EXECUTE AT THE POINT OF IMPORT. This is configurable, see the FDF class API docs for more info.
  • Rendering bitmap images with a Blend Mode is now working
  • Added PropertyChangeEvent support to PDFPage and PDF classes
  • Added PageExtractor.getStyledText method, to extract an AttributedString. Styling information is limited to font, size and color.
  • Now any annotation can be flattened (with PDFAnnotation.flatten()), not just form fields
  • Added getPageLabel/setPageLabel to PDF, and integrated labels into the Viewer
  • Viewer Applet: Can set look and feel with "swing.defaultlaf" parameter
  • Viewer: Documents can now be flagged as "dirty", meaning they need to be saved before closing. This optional feature is on by default, but to close dirty documents without a prompt, set the viewer property "unpromptedDirtyClose" to "true".
  • Viewer: Fixes for Nimbus L&F and improved layout for some of the dialogs
  • Viewer: NetworkSave and form submission can be usefully cancelled, and NetworkSave feature has optional "fieldname" parameter, to send PDF to network in the same way as an HTML Form upload
  • Viewer: The viewer property "currentUser" can be used to set the user name for any annotations
  • Viewer: Added ability to set document actions WillSave, DidSave, WillPrint, DidPrint and WillClose (implemented JavaScript methods Doc.setAction and Doc.setPageAction)
  • Viewer: Can right-click to flatten annotations, as well as edit or delete
  • Viewer: text copies to the clipboard will copy as rich-text as well as plain
  • Viewer: Fixed drag selection over multiple pages
  • Viewer: Improvements to AnnotationFactories, to make them look more consistant and adjust their size to their content. AnnotationStampFactory has been rewritten and can better be extended for custom stamps.
  • Viewer: Fixed import of FDF (implemented Doc.importAnFDF and Doc.importAnXFDF)
  • Viewer: better synchronization should remove occasional exceptions when moving/deleting annotations while the thumbnail panel is rendering them

New in version 2.11.17 (June 29th, 2011)

  • Updated bfopdf-cmap.jar - if you see ObjectInputStreamException when working with documents containing Chinese/Japanese/Korean text then make sure you have installed the latest version of this Jar.
  • Fixed a confusion regarding FNC1 characters in barcodes: previously we allowed "\n" to mean FNC1 in Code128 barcodes, but "\n" is actually a valid character so this was broken some time ago. FNC1 is now specified with U+EFC1 character (defined as BarCode.FNC1), and this may be used in DataMatrix codes as well.
  • Fixed threading issue when cloning a PDF containing XMP form using new PDF(PDF)
  • Fixed issue where subsetting CFF font could prevent page containing font from being printed by Acrobat.
  • Fixed SecurityException caused by editing form fields which fire JavaScript events in an environment where a SecurityManager is installed.
  • Added workaround for Sun Bug 7007299 which could cause NullPointerException when multiple threads are rendering unrelated PDFs with unembedded fonts.
  • PDFParser.setFont() will take an OpenTypeFont as well as a Font class, to avoid use of system fonts completely in case workaround (above) doesn't do it
  • Fixed NullPointerException from specific PDF with XFA form
  • More fixes to DataMatrix barcodes. We now have a test-suite just for these...
  • Fixed divide-by-zero in ColorBurn composite
  • Fixed misread of number of pages in certain (invalid) PDF documents.
  • Don't mark a document as Linearized when it's loaded if linearization has been broken.
  • Now PDFParser.getBlackAndWhiteColorModel(0) can be used to auto-determine an appropriate threshold.
  • Added ability to create "cloudy" AnnotationShape objects, via new PDFStyle.setFormStyle(FORMSTYLE_CLOUDY1) and FORMSTYLE_CLOUDY2 constants.
  • Improved reporting of warnings related to XMP formatting errors
  • Fixed exception with rendering when blendmode and softmask were both active
  • Viewer: Added the "NetworkSave" feature, to save a PDF back to an HTTP URL
  • Viewer: fixed buggy creation of new digital identities in KeyStoreManager
  • Viewer: basic support for RTL locales.

New in version 2.11.13 (January 7th, 2011)

  • Redaction now removes all references to images that are completely redacted
  • Add support for vertical chinese/japanese CMaps
  • Fixed StackOverflowError when loading PDF with 250,000+ bookmarks
  • Added "bfo.printasimage" PDF option, to work around bugs in Apple/Java 1.5 and possibly other setups.
  • Fixed mixing of fill, text and border colors in Link annotations
  • Fixed positioning of annotations using beginTextLink
  • Added ability to remove Document Structure tags via an OutputProfile
  • Viewer: Added properties to control size of thumbnail images, width of SidePanel and initial page mode.
  • Viewer: Fixed obscure race condition in thumbnail panel which sometimes resulted in higher CPU usage immediately after load.
  • Viewer: Added swipe and rotate gestures on OS X
  • Updated Producer field to use to bfo.com