jPDFViewer Changelog

What's new in jPDFViewer 2021R1

Oct 5, 2022
  • General:
  • 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
  • jOfficeConvert:
  • 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
  • jPDFWriter:
  • JPDF-1746 NullPointerException in jPDFWriter due to calling setPaint(null) when drawing jfree chart of type area

New in jPDFViewer 2017R1.16 (Apr 30, 2018)

  • JPDF-1194 – Document Specific: Error when laying out glyph for a font: NoninvertibleTransformException: Determinant is 0
  • JPDF-1189 – Implement Gouraud FreeForm gradients
  • JPDF-1192 – Document Specific: Wrong characters displaying under signature details for signer’s name that contains non-Latin characters .

New in jPDFViewer 2017R1.15 (Apr 30, 2018)

  • JPDF-1175 – Not removing unused objects when removing embedded files

New in jPDFViewer 2017R1.14 (Apr 30, 2018)

  • JPDF-1156 – Issue with extra space when editing multi line form field
  • JPDF-1157 – Applying a redaction annotation with background color corrupts stencil images

New in jPDFViewer 2017R1.13 (Apr 30, 2018)

  • JPDF-1145 – Java Bug: Rotated Images print with black horizontal lines artifacts, especially noticeable because of the strips added when printing. Adding a PDFRenderHints to set the amount of memory used for each strip.

New in jPDFViewer 2017R1.12 (Apr 30, 2018)

  • JPDF-1141 – Document Specific: ArrayOutOfBoundsException when applying text redaction (due to a FormXObject that is painted multiple time on the page)

New in jPDFViewer 2017R1 (Feb 23, 2018)

  • Version v2017R1.13 – February 13 2018:
  • JPDF-1145 – Java Bug: Rotated Images print with black horizontal lines artifacts, especially noticeable because of the strips added when printing. Adding a PDFRenderHints to set the amount of memory used for each strip.
  • Version v2017R1.12 – January 24 2018:
  • JPDF-1141 – Document Specific: ArrayOutOfBoundsException when applying text redaction (due to a FormXObject that is painted multiple time on the page)
  • Version v2017R1.11 – December 22 2017:
  • PS-4056, PS-4040 – Fix some selection issue on the attachments panel
  • PS-4032, PS-4063 – Resolve some issues surrounding committing edits for typewriter annotations
  • JPDF-1131 – Regression: XFDF files with text boxes can not be reimported – XML Parse Exception during parsing of a freetext element at line 0: Attribute “rotation” does not contain a valid value (“0.0″)
  • Version v2017R1.10 – December 18 2017:
  • JPDF-1120 – Document Specific: Extract text from a PDF page appears to hang (infinite loop in infinite loop regex matching code?)
  • JPDF-1115 – Use ToUnicode when extracting text when using Java font program
  • Version v2017R1.09 – November 29 2017:
  • JPDF-1119 – Document Specific: Invalid page labels give an arrayindexoutofbound exception
  • Version v2017R1.08 – November 22 2017:
  • JPDF-1116 – Fix issue with CalGray color space: background is yellowish instead of white
  • PS-4011 – REGRESSION: Redaction with no fill color does not redact image below, only redacts text
  • Version v2017R1.07 – November 16 2017:
  • Changes to the way PNG and GIF images are handled as a step toward Java 9 support
  • JPDF-1112 – Do not throw an exception when destinations array is empty
  • JPDF-1103 – Inverted color artifacts on page after applying redaction on JBIG2 stencil images (preserve stencil images)
  • JPDF-1100 – Improve jPDFText Sample App and Demo
  • Version v2017R1.06 – October 11 2017:
  • JPDF-1087 : Option to not display warning when saving a signed PDF. See PDFNotesBean.showSignWarning(false).
  • Version v2017R1.05 – October 05 2017:
  • JPDF-1086 – Regression: Default Transparency for Image in SignatureAppearance for Digital Signature custom appearance is completely transparent. The transparency attribute in SignatureAppearance has changed to work in the opposite way as it was in v2016R1. We’re reverting to previous behavior, depreacating SignatureAppearance.setImageTransparency (the method was misnamed) and creating a new method for SignatureAppearance.setImageOpacity.
  • JPDF-1084 – Internal fix for libraries deriving from jPDFProcess.
  • Version v2017R1.04 – September 26 2017:
  • JPDF-1065 – Add basic support to add ZUGFeRD invoice attachments to a PDF
  • JPDF-1082 – Overlapping bookmarks on 4k HiDPI screens in Qoppa PDF components
  • Version v2017R1.03 – September 09 2017:
  • JPDF-1077 – Duplicate / Repeating form field data for fields that share an appearance stream. Now create a new appearance stream for each field.
  • PS-3942 – REGRESSION: To close the perimeter properties dialog, you have to click multiple times
  • PS-3938 – “Missing Resource: Frm” displays in log when importing an image into image field
  • Version 2017R1.02 – August 29 2017:
  • JPDF-1070 & 1075 – Fix NullPointerException & IllegalComponentStateException on Typewriter caused by Java 1.8u131 new window ordering model
  • JPDF-1066 – Validation warning when trying to clear a formatted number field that is required
  • JPDF-3923 – Text box annotation spacing issue when setting the font size to 7 or 8
  • JPDF-1064 – API Change: Add methods getSignCustomProperty(), getSignContactInfo() to SignatureField
  • Version 2017R1.01 – August 11 2017:
  • JPDF-1059 – Reply to annotations and grouped annotation now return their own contents instead of parent contents. Also open public API to return Parent Annotations.
  • JPDF-1051 – When verifying PDF/A compliance, trim metadata entries in dictionary before comparing with meta data to be consistant with other PDF/A validators
  • JPDF-1045 – Ignore form fields that have invalid types instead of throwing an exception