December 19 2015

Version number: v2015R2
Java PDF Components: jPDFViewer, jPDFNotes, jPDFEditor

API Changes (from previous version)

Feature Highlights

  • Quick Search: More Efficient Search for Bigger documents (Find next & previous occurrences)
  • JPEG2000 image rendering improvements (no more black dots)
  • Annotations: Mini Functional Toolbar and Rendering Improvements
  • New Qoppa Advanced Print dialog (with Preview!) more powerful than Java default print dialog
  • Spell Check for Annotations and Form Fields (commercial plugin jOrtho)
  • Live Output Preview simulates Overprint Simulation
  • Lots of Font Improvements, especially around CJK fonts
  • Ensure Java 8 Compatibility on all platforms: Windows, Mac and Linux
  • End-User Guides now available for Qoppa’s PDF Components

Component User Interface / GUI

Quick Search Toolbar will display below the main toolbar
Quick Search displays below the main toolbar

[JPDF-684] – Add Quick Search in Qoppa’s PDF components. See PDFViewerBean.startSearch() / closeSearch()
[PS-1814] – Add option to Text Search and Advanced Search to search within form fields
[JPDF-581] – Add Qoppa’s Custom Print Dialog (Better than Java Print Dialog) to all Qoppa’s PDF Components
[JPDF-651] – Add Spell Checker for Annotations and Form Fields (commercial plugin). See PDFNotesBean.enableSpellChecking(). Read more
[PS-2459] – Standardized Progress Dialogs for processes that can take time some time such as Printing, Importing Annotations, OCRing, …
[JPDF-610] – API Change: All Context Menus now have setActive() / isActive() methods to turn them off (menus will not show on right-click)
[JPDF-650] – Improve repaint performance when scale or rotation updated for PDFs with lots of annotations
[JPDF-687] – Show Undo/Redo buttons by default on the toolbar for jPDFNotes, jPDFEditor. See EditToolbar.getjbUndo() and EditToolbar.getjbRedo()
[PS-3008] – Add Rotate Page icons to the Thumbnail Pane to rotate a page (not only rotate the view). See ThumbnailPaneNotes.getjvbCCW()
[PS-2672] – Added support for JavaScript action “Save As”

Image / Rendering / Printing
[jPDF-577] – jPDFEditor now supports rendering with output preview for overprint simulation. See PDFEditorbean.startOutputPreview() / stopOuputPreview()
[JPDF-595] – Develop new JPEG2000 decoder to resolve black dots / black spots on JPEG 2000 images
[JPDF-669] – Improve CJK Font Selection
[JPDF-368] – For non-embedded CJK fonts, try and match a system font by name
[JPDF-513] – CJK characters dropped from Acrobat test suite documents
[JPDF-655] – Add PDFPage.savePageAsJPEG2000 method
[JPDF-668] – [Mac, Linux] Document specific: Font is not rendered correctly due to no good alternative font found
[JPDF-689] – Document Specific: Text flipped horizontally due to negative fonts not handled in FormX object
[JPDF-700] – Regression: Indexed Color Space that uses LAB Color Rendering

Annotations
Comments can be added to measurement annotations
[PS-1263] – Allow right-clicking for annotation menu when sticky tool active
[PS-3018] – Unable to disable “sticky” when tool is active (stamp only)
[JPDF-591] – Added functional mini-toolbar (to delete / show properties) under comments when they are selected on the page
(on by default, see qoppa.pdfNotes.settings.AnnotationTools.setMiniToolbarEnabled())
[JPDF-536] – Use of PDF fonts when rendering FreeText and Typewriter annotations
[JPDF-609] – Text highlight exception java.util.NoSuchElementException
[JPDF-631] – Multi-gesture ink annotation doesn’t work well across different pages
[PS-2879] – Add setLockedContents / getLockedContents. Read more about Locked Contents property
[JPDF-629] – When importing XFDF, create an appearance streams for all annotations so the annotations can be displayed by all PDF viewers
[JPDF-691] – Fix issue with NullPointerException for RubberStamp.setColor(), setImage() and setOpacity(). These methods are now deprecated for stamps
[JPDF-414] – Add exportAnnotsAsXFDF method allows to export only a set of annotations
[JPDF-477] – Add a method to QAnnotation (abstract) to “create appearance streams”
[JPDF-588] – API Change: Widget getField and setField now use public FormField
[JPDF-599] – Add com.qoppa.pdf.settings.ImageSettings and IAnnotationFactory.createRubberStamp(Image, ImageSettings)

Bookmarks / Links
[JPDF-635] – Problems with relative paths in GotoPageRemote for links and bookmarks
New method BookmarkPanel.setHighlight() / getHighlight() to set or get the currently selected bookmark in the bookmark pane
Support for JavaScript actions in bookmarks
Support JavaScript actions to set layer properties

Interactive Form Fields
[JPDF-585] – SubmitFormAction, ResetForm can getFields / setFields with the list of selected field names associated with the action
[JPDF-644] – Cursor / Caret repaint issue in single and multi-line text fields
[JPDF-645] – Document Specific: ClassCastException when loading PDF due to null in field’s kids array

Assemble / Merge / Split PDFs
[JPDF-653] – PDF merge: Error encountered trying to merge tag structure information
[JPDF-671] – Document Specific: ClassCastException on appendPage due to null object instead of dictionary

Content Editing / Redaction
[JPDF-461] – Applying redaction annotations that span over multiple line can remove nearby text
[JPDF-586] – Add get / set methods to Redaction interface for overlay / burnt text options (this is the text  that shows after the redaction annotation is burnt on top of the redacted rectangle)
[JPDF-666] – [MacOS, Linux] missing menu when right click a redaction annotation

OCR
[JPDF-241] – Add OCR support for CJK and non-Latin characters.
Support for Multiple Language OCR

Sample Demo Applications
[JPDF-577] – Enhance jPDFEditor Demo App to showcase Live Output Preview

New End-User Guides
[JPDF-688] – Create End User Guide for Qoppa’s PDF Components (see jPDFViewer Guide, jPDFNotes Guide, jPDFEditor Guide)