Original Release Date: October 14 2021
Version number: v2021R1

v2021R1 Jar Download Links

Java PDF Components:
jPDFViewer, jPDFNotes, jPDFEditor

Component API Changes (from previous version)

Java PDF Libraries deriving from jPDFProcess:
jPDFAssemblejPDFFieldsjPDFImages, jPDFPrintjPDFSecurejPDFText

Library API Changes (from previous version)

Other Java PDF Libraries:
jPDFOptimizer, jPDFPreflight, jPDFWeb
jOfficeConvert (API Changes from previous version)

Note: Customers will need new license keys from upgrading from v2020R2. Contact Qoppa’s license team so we can issue new license files for you.

Move to compiling in Java 8. Support for Java 8+, Java 6, 7 discontinued
Licenses are loaded from an xml file through a loadfile() method in each library main class
New OCR version – Need new language files
JPDF-1735 Upgrade Rhino Javascript engine to version 1.7.13
JPDF-991 Further testing & fixes for JDK 11 & over compatibility
JPDF-1018 Packaging with substitute fonts for Microsoft fonts
JPDF-317 Redesign error handling
JPDF-1289 validatekey enhancements
JPDF-1729 (Coming Soon) Consolidate all the jPDF Library Demo into One Sample Application

New Conversion from PowerPoint to PDF. See new classes com.qoppa.office.PowerPointDocument and com.qoppa.office.PowerPointConvertOptions

PDF Component
GUI: New Filtering options in Comment Panel
New methods to access new Comment Panel buttons see qoppa.pdfViewer.panel. CommentPanel
New options to access zoom in / zoom out buttons in qoppa.pdfViewer.panels.ThumbnailPanel
Links in PDF Content Automatically Detected – Settings
Tested & Approved on Flatlaf Look & Feel (Light & Dark Mode)
Added Support in PDF Action to open doc in existing or new Window See qoppa.pdf.Action, GotoPageAction, LaunchAction
Added a way to set a link to highlighted – See qoppa.pdf.Annotations.Link.setHighlightedMode()
Added more options to control right-click context menus for the following tabs / tools: Bookmarks, Content Editing, Annotations and TextSelection. See qoppa.pdfeditor.ContextMenus and qoppa.pdfnotes.ContextMenus
Added a convenience method to start the GUI signing of a given signature field see qoppa.pdfnotes.PDFNotesBean.signDocument(SignatureField, boolean)
Add a settings to decide what to do after an annotation is added to the page: show nothing, show popup or show properties dialog. See qoppa.pdfNotes.settings
New option to set the right split policy in see PDFViewerBean.setRightSplitPolicy
JPDF-1792 IAnnotationManager had a addSelectionListener method, but not a removeSelectionListener method
JPDF-1727 Regression: Euro Symbol in Text Annotations Editor is displaying wrong character
JPDF-1415 Document Specific: some obscure obfuscated classnames displays when using edit content tool
JPDF-1809 Options to disallow rich text / decorations in text annotations qoppa.pdfNotes.IAnnotationManagerNotes.setRichTextEditable()
JPDF-584 Cannot select Type3 font text
JPDF-1714 Issue with text search dialog when loading documents using ByteArrayPDFSource
JPDF-1701 Replace tabs with spaces in Text annotations edit mode
JPDF-1777 Empty text annotation loses text color
JPDF-1821 Remove references to sun.swing.DefaultLookup for compatibility with newer versions of Java
JPDF-1121 Java 9 & Java 10 Only. Rubber stamp painting issue / Graphics2D.drawline bug with transform and clip. Wont Fix. Works in Java 8 & Java 11+.
JPDF-1718 Error on opening PDF form due to XFA parsing error (double “??” before closing tag)

Image Processing / Rendering / Printing (jPDFPrint, jPDFImages, jPDFProcess)

JPDF-1700 New method to save a PDF page as JPEG2000 see PDFImages.savePageAsJPEG2000()
JPDF-1692 Document Specific Error when opening for rendering due to null object in embedded file dictionary
JPDF-1708 PDFium Document: Error rendering page: Missing Extended Graphic State Dictionary
JPDF-1691 Handle cloud border with intensity of 0 to avoid infinite loop
JPDF-1667 Error rendering inline image on page giving an ArrayIndexOutOfBoundException
JPDF-1661 Document Specific issues: NullPointerException and endofstream not found
JPDF-1658 Handle better line dashes patterns numbers that are negative or all zero
JPDF-1653 Concurrency issue when rendering pages with negative font size in multiple threads leading to displaying some pages with reversed text
JPDF-1644 Attached document freezes on rendering due to Java bug for dashed stroke with very large dash phase
JPDF-1636 Handle formatting errors when getting decode parameters for JBIG2 images
JPDF-1783 Java 8: Document Specific – setPenT4: invalid pen transformation – some content not displayed. Wont Fix. Works in Java 11.
JPDF-1784 Improve parsing of CCIT inline images to resolve Invalid content token issue / missing PDF content
JPDF-1811 Handle better an invalid CIDToGIDMap entry to avoid nullpointerexception
JPDF-1725 Show Qoppa Print Dialog in PDFPrint Sample Demo Application
JPDF-1704 Issue with ttf font not being used for rendering in Windows 10
JPDF-1154 Error when parsing CCITT inline image containing “EI” end of image character

PDF Optimizer jPDFOptimizer
JPDF-1694 Check for null colorspace and 0 width 0 height images when optimizing PDF
JPDF-1824 Image disappears when optimizing if the image has a soft mask with a decode entry
JPDF-1822 Add support for reference table streams in PDF linearization to avoid file size increase after linearization

PDF/A Conversion (jPDFPreflight)
JPDF-1674 Convert to PDF/A 2u & PDF/A 3u
JPDF-1673 Add PDF/A 3u Verification
JPDF-1719 PDF/A-2u conversion succeeds but fails to verify for a handful of documents
JPDF-1696 Unicode conversion for embedded TrueType fonts with no other encoding info
JPDF-1663 pdf/a conversion can embed fonts with incorrect encodings
JPDF-1662 create and embed ToUnicode CMaps when embedding fonts in PDF/A conversion
JPDF-1652 PDF/UA verification adds annotations for bad links in the wrong page and location
JPDF-1651 Part I: Give a PDF/A validation error for embedded TTC fonts – Part II Re-embed TTC Fonts on Conversion
JPDF-1650 PDF/A Validation fails after conversion due to error in fonts embedding
JPDF-1754 Ignore external entities when parsing XML metadata + Fix infinite loop (document specific)
JPDF-1685 Convert to PDF/A to use font substitution table
JPDF-1763 PDF/A 2b Conversion appear successful but document does not validate
JPDF-1772 Missing characters in XFA form due to issue accessing fonts in acroform DR resources when regenerating appearance stream
JPDF-1826 Annotation bounds on preflight annotations changed, rectangles are more accurate, but smaller

Manipulate / Edit PDFs (jPDFProcess(
New method to delete a range of page in qoppa.pdfProcess.PDFDocument.deletePageRange(int, int)
JPDF-1750 New overlay compare API to create a new comparison PDF by adding 2 PDF as separate layers with flexible color options
JPDF-1747 Fix nullPointerException when importing an xfdf annotation with null intent
JPDF-1732 Document displays as tagged for fast web wrongly?
JPDF-1724 ClassCastException when opening a PDF due to incorrectly formatted signature contents
JPDF-1720 Add support for highlight style in Link annotations
JPDF-1707 Add option to “Open File…” action to open using preferences
JPDF-1655 Handle better importing an XFDF file containing an invalid polygon annotation vertices
JPDF-1646 IRT annotations are not always imported correctly from FDF
JPDF-1645 Review Specific Document – Unicode text extract fails due to invalid mapping
JPDF-1642 IRT annotations not imported correctly from XFDF
JPDF-1637 Document Specific: ClassCastException when creating a field due to invalid field format
JPDF-383 Publish jPDF libraries to Maven / Github Repository
JPDF-1666 Make our code safe to setting rich text content in invalid format into annotations
JPDF-1766 Revisit \n (end-of-line) character issue at end of document
JPDF-1806 Error Merging Tags when merging PDFs with Tags
JPDF-1808 Improve Tag Merging (under the same Root Node) when merging 2 PDFs with Tags
JPDF-1315 Search text using regular expression – PDFPage.findTextUsingRegex

Digital Signature (jPDFSecure, jProcess, PDF Component)
New Signature Validity Icons
JPDF-1800 Add Document Timestamp Signature (DTS) to a PDF
JPDF-1791 Validation & Display of DocTimeStamp (PDF 2.0), see SignatureValidity.isDocumentTimeStamp
JPDF-1801 Review messages returned by SignatureValidity.getValidationMessages()
JPDF-1795 Document with Usage Rights seem to restrict digital signing when it shouldn’t
JPDF-1768 Add support for “Lock Document After Signing” on ordinary digital signatures, see SigningInfo.isLocked / setLocked
JPDF-1799 Review Content Added message in specific documents with Timestamp signatures
JPDF-1798 Review “content appended” to DTS signatures created in Acrobat

Fonts (All Libraries & Components)
JPDF-1731 Document Specific: Regression: Space character is replaced with another character when rendering glyph on page
JPDF-1736 Review and Fix getReverseEncoding() method
JPDF-1761 REGRESSION: Yu Gothic font line height on test106.pdf
PDF Forms (jPDFFields, jPDFProcess, Components)
JPDF-1721 ClassCastException when opening a PDF form due to invalid appearance dictionary in form field widget
JPDF-1753 Regression: Document Specific (Linearized): com.qoppa.pdf.PDFException: Illegal character 105 in hex string
JPDF-1776 Some fields showing empty in xfa form. Add support for rich text and unnamed children subforms

PDF Component
JPDF-1712 Calling clearDocument() when a document is being printed causes a null pointer exception
JPDF-1711 Change German Label when no text in document
JPDF-1703 Fit to Width rounding error
JPDF-1699 Change to use a Shape instead of a GeneralPath for our internal objects
JPDF-1647 Add buttons to enlarge reduce page thumbnails
JPDF-931 Render bug: CIDFontType0 w/CIDToGIDMap
JPDF-654 Not handling dash pattern from annotation’s Border entry
JPDF-1738 Font BBox Too Large in Text Selection: Improve calculation of ascent and descent values for embedded fonts when values inside FontDescriptor are incorrect
JPDF-1313 JDK 11 Compatibility – GlyphVector advances in CJK font
JPDF-1813 Revert change to skip loading annots incrementally in signed docs
JPDF-1774 Fix for bad XFA data with double quotes within double quotes
JPDF-1827 jPDF Viewer REGRESSION: Annotation filtering causes serious performance issues

PDF to HTML Conversion (jPDFWeb)
JPDF-1742 Parentheses used in CJK vertical writing are not rendering correctly
JPDF-1741 Exception on converting PDFs to HTML containing links with no destination such as “Fit To Page”
JPDF-1726 PDF To HTML: Add form field widgets in the output HTML file
JPDF-1551 Page viewing mode: continuous view
JPDF-1752 jPDFWeb PDF to SVG: Parentheses used in CJK vertical writing are not rendering correctly
JPDF-1481 Text start position wrong for vertical text
JPDF-1769 Converting document to SVG cuts off image due to incorrect soft mask placement
JPDF-1781 Missing pattern lines on conversion to SVG due to type 3 font with inverted symbol characters
JPDF-1723 By default, do not use the Text & Graphics Extraction permission when converting to HTML/SVG
JPDF-1457 Handle Links without “http://” prefix
JPDF-1559 Add text search to jPDFWeb servlet sample
JPDF-1802 jPDFWeb Servlet not working on Java 11 / Tomcat 10

JPDF-1746 NullPointerException in jPDFWriter due to calling setPaint(null) when drawing jfree chart of type area

Many other internal fixes and enhancements.