Does Qoppa’s PDF API support signing using “Advanced Electronic Signatures (AdES)”, as recognized by eIDAS regulation? Qoppa’s PDF library and components currently support the following digital signature types: • PKCS7 Signatures • B-B PAdES signatures • B-T PAdES signatures Qoppa’s PDF library and components currently do not support the following types of signatures (which are […]
Category: jPDFEditor: PDF Editing Component
Swing PDF Component to integrate in web or Java applications to view, annotate, sign, edit and redact PDF documents as well as fill interactive PDF forms.
Can a digital signature in a PDF document have multiple linked widgets?
Q: We know that standard interactive form fields can have multiple widgets associated with them. In this case, all “linked” widgets in the document will contain the same form field data & have the same appearance stream. But how about digital signature fields? Do they allow multiple widgets to be associated with them? Answer: The […]
Setting Highlight Mode for Link Annotations on a PDF Page
Starting v2020R2.05, the highlight mode for link annotations can be set using Qoppa’s PDF API jPDFProcess, jPDFNotes or jPDFEditor. There are 4 different highlight modes supported for links: Highlight Mode Inverted Highlight Mode Outline Highlight Mode Push Highlight Mode None Link link = (Link) annot; link.setHighlightMode(Link.HIGHTLIGHT_MODE_INVERT); //link.setHighlightMode(Link.HIGHTLIGHT_MODE_OUTLINE); //link.setHighlightMode(Link.HIGHTLIGHT_MODE_PUSH); //link.setHighlightMode(Link.HIGHTLIGHT_MODE_NONE);Link link = (Link) annot; link.setHighlightMode(Link.HIGHTLIGHT_MODE_INVERT); //link.setHighlightMode(Link.HIGHTLIGHT_MODE_OUTLINE); […]
Which hash algorithm is used when applying digital signatures
Qoppa’s PDF libraries components (v2020 and up) and Android PDF toolkit (v6.8 and up) use the safest hash algorithm available and supported by the PDF file version when applying digital signatures. This is priority order in which we look for hash algorithms based on the document version: PDF File Version 1.7 & up: “SHA512”, “SHA384”, […]
Checking for Form Field Flags such as Required, Read-Only, Rich Text
As of v2018R1, it is possible to get information about form field flags in Qoppa’s PDF libraries and components. These flags represent some of the field properties that can be found under the form field properties in PDF editing applications and our PDF components. Field Flags Available Interface FormField (available in all fields) FormField.FF_READONLY -The […]
Use Java Web Start for Embedded PDF Reader / Form Filler in Oracle EBS Forms
A few customers have embedded Qoppa’s Java Swing components (jPDFViewer, jPDFNOtes or jPDFEditor) in Oracle EBS forms in order to display, annotate or even sign a PDF, as well as fill interactive PDF forms. Read more about how to integrate our Java components in Oracle Forms: Case Study: Display Invoice in Oracle Forms Integrate PDF […]
Comparing Tesseract versions 3.02 and 3.05 for accuracy & performance
The Java PDF OCR module available in Qoppa PDF libraries currently runs on Tesseract 3.02. In June 1st 2017, Tesseract 3.05 was released and as a part of our 2018 software release cycle, we looked into upgrading the OCR module to use that version. Tests were done to compare Tesseract 3.02.02 against the new 3.05.01 […]
Customizing PDF annotation author name per user in Qoppa PDF components
Q: When a user annotates a PDF using jPDFNotes, it seems that the author name associated with the comments is the user name from the operating system. How can I pass a different name? A: By default, jPDFNotes uses the user name as reported by the system, but you can override this by using: AnnotationTools.setDefaultAuthor(“author name”);AnnotationTools.setDefaultAuthor(“author name”); […]
File attachments handling in attachment pane in Qoppa PDF components
Qoppa’s PDF Swing components jPDFViewer, jPDFNotes and jPDFEditor have a side tab / pane that will show all file attachments that were added to a PDF document. Handling of File Attachments When double-clicking on one of the file attachment, Qoppa’s PDF components will by default handle the documents in the following way: PDF documents will […]
OCR Languages Download Links
OCR Language Download Links Required Data File for All Languages Orientation and script detection Common Languages English – English French – Français German – Deutsch Spanish – Español Italian – Italiano Chinese (Simplified) – 中文简体中文 Chinese (Traditional) – 中文繁體 All Other Languages – This file contains all the languages available (large file) tessdata_fast.zip
Scaling your Java Application for 4K High DPI Displays support on Mac, Windows, Linux
4k support in Qoppa PDF Components In version v2017R1, support for 4K monitors was added in Qoppa PDF components jPDFViewer, jPDFNotes and jPDFEditor. The user interface was completely revised to support 4k HiDPI Display monitors with automatic DPI scaling for all dialogs and toolbars as well as newly designed vector icons that render crisp at any resolution. Customers integrating […]
jai image jars are not loading on some J2EE servers (need to scan for plugins)
Q: Even after adding the jai_imageio.jar and jai_codec.jar in the classpath, I am still getting an error when trying to save as Tiff and getting the “No TIFF Writers Available” exception. Any idea? A: There are some J2EE servers (such as Websphere?) that do not find ImageIO plugins automatically. Try any of the 2 calls […]
Invalid colors for CMYK images when cmykProfile.jar missing in classpath
Update: As of version v2019R1, cmykProfile.jar is now packaged inside Qoppa’s library jars and no longer requires to be added to the classpath. When rendering or optimizing images with a CMYK color space (DeviceCMYK), Qoppa’s PDF libraries and components need the cmykProfile.jar to be present in the classpath. If you forget to include this jar, […]
Selecting an annotation on a page in Qoppa’s PDF components
Q: How can I select a given annotation on a page in jPDFViewer, jPDFNotes or jPDFEditor? A: You will need to work with the IAnnotationManager, which manages the selection cycle for annotations. IAnnotationManager annotmanager = viewerBean.getAnnotationManager();IAnnotationManager annotmanager = viewerBean.getAnnotationManager(); This interface manages the selection cycle for annotation components on a page and allows to programmatically […]
Deleting all bookmarks from a PDF document
To delete all bookmarks in a PDF document, simply create a new empty root bookmark. With jPDFProcess, use PDFDocument.createRootBookmark(); With jPDFAssemble, use PDFAssemble.createRootBookmark(); With jPDFEditor, use PDFEditorBean.getDocument().createRootBookmark(); Here is sample code to do so: // Load the document PDFDocument pdfDoc = new PDFDocument ("input.pdf", null); // Get the root bookmark, create one if necessary Bookmark […]
Clear Password and Permissions in a PDF document
It is possible to clear permissions and passwords in a PDF document using several of Qoppa’s Java PDF libraries and components. With jPDFSecure, use PDFSecure.clearPasswordPermissions() With jPDFProcess, use PDFDocument.clearPasswordPermissions() With jPDFEditor, use PDFEditorBean.getDocument().clearPasswordPermissions() Calling PDFSecure.clearPasswordPermissions will clear all password permissions for this document: it will reset all password permissions to true. it will clear open/user […]
Changing PDF Document Permissions and Passwords
It is possible to set / update permissions and passwords in a PDF document using several of Qoppa’s Java PDF libraries and components. Call to change document permissions and passwords depending on which Qoppa library you use: // with jPDFSecure PDFSecure.setPasswordPermissions(newPermPwd, newOpenPwd, permissions, currentPermPwd, encryptType); // with jPDFProcess PDFDocument.setPasswordPermissions(newPermPwd, newOpenPwd, permissions, currentPermPwd, encryptType); […]
How to Resolve Error Rendering Page: Missing Font
When rendering a PDF document in the following Qoppa’s PDF library products: jPDFImages, jPDFPrint, jPDFProcess, jPDFViewer, jPDFNotes or jPDFEditor, you might encounter a blank page with an “Error Rendering Page” displayed in red on a page. This error happens when there is an issue with a font within the PDF document. There are 2 possible […]
On using Java RenderingHints to smooth jagged edges on rotated images
Q: There seems to be some pixelation or resolution issue when rendering specific images in a PDF brochure. Is there anything that can be done to render these images more smoothly? A: Qoppa’s PDF libraries and components uses our own interpolation algorithm that works much better than the built-in Java algorithm well both when up-sampling […]
Opening image files (GIF, PNG, JPEG, TIFF) and converting them to PDF on the fly
Here is a sample code to open an image file in Qoppa’s Java PDF Components jPDFNotes and jPDFEditor which will convert it on the fly to PDF. The generated document can then be annotated in the component and then saved as PDF as any other PDF. pdfNotesBean = new PDFNotesBean(); try { // open a […]
Interaction between jPDFEditor bean and jPDFProcess library to manipulate a PDF document while rendering it
jPDFEditor comes packaged with Qoppa’s jPDFProcess library, providing access to a rich API to further manipulate PDF documents programmatically. This allows to manipulate the PDF document that is currently opened while the bean receives all the user interface notifications. Here is sample code showing how to add a new “insert” button to the toolbar that […]
Changing default magnification (fit to page, fit to width, given zoom level)
To change the initial magnification settings when opening PDF documents in Qoppa’s PDF components and ignore the magnification settings contained in the PDF document (if any), make the following method calls immediately after instantiating the PDF bean, before opening any PDF document: Set a Fit To Width Magnification: Display with the page magnified just enough […]
Customizing Annotations Tools
Q: How can I customize annotations tools in jPDFNotes? A: Use the class called AnnotationTools that manages the default properties and settings for the annotation tools in Qoppa’s PDF components. Disable Flattening of Annotations AnnotationTools.setFlatteningEnabled(false);AnnotationTools.setFlatteningEnabled(false); Disable Deleting of Annotations AnnotationTools.setDeleteEnabled(false);AnnotationTools.setDeleteEnabled(false); Set Default Author for New Annotations AnnotationTools.setDefaultAuthor("John Smith");AnnotationTools.setDefaultAuthor("John Smith");
List of Supported JavaScript Events in Qoppa PDF Components
Here is the list of supported JavaScript events in Qoppa PDF Library and Component Products. Doc/Open Field/Keystroke Field/Validate Field/Calculate Field/Format Field/Focus Field/Blur Field/MouseEnter Field/MouseExit Field/MouseUp Field/MouseDown
List of Supported JavaScript Actions in Qoppa PDF Components
Here is the list of supported actions in Qoppa’s PDF Library and Component Products. The table below lists the JavaScript actions, where they live in the PDF document and if they are supported or not. Parent Dictionary Entry Supported/Unsupported Document Level: Names (in the Catalog dictionary) JavaScript Supported Catalog OpenAction Supported AA (additional actions […]
List of Supported JavaScript Objects / Methods / Properties in Qoppa PDF Components
Here is a list of all objects, methods and properties supported in Qoppa’s PDF Library and Component Products. This list was compiled for v2016R1. App Methods: alert beep openDoc popUpMenu popUpMenuEx response setTimeOut trustedFunction Properties: formsVersion viewerType viewerVersion Color Methods: equal Properties: black blue cyan dkGray gray green ltGray magenta red transparent white yellow Console […]
New exception NoSuchMethodError “initSafeStandardObjects” when loading a PDF with JavaScript validation
Update: In version v2021R1, the rhino version was upgraded to rhino-1.7.13.jar. Q: I upgraded to the latest version of jPDFNotes v2016R1. I am loading a PDF that has JavaScript form field validation, but I received this error: com.qoppa.pdf.PDFException: Error loading PDF org.mozilla.javascript.Context.initSafeStandardObjects(Lorg/mozilla/javascript/ScriptableObject;Z)Lorg/mozilla/javascript/ScriptableObject; java.lang.NoSuchMethodError: org.mozilla.javascript.Context.initSafeStandardObjects(Lorg/mozilla/javascript/ScriptableObject;Z)Lorg/mozilla/javascript/ScriptableObject; A: Starting in version v2016R1, Qoppa’s PDF components started using Rhino […]
How to add your own custom annotation tools in Qoppa PDF component
Q: Can I add my own custom annotation tools to Qoppa PDF component’s toolbar? A: Yes. Qoppa PDF components jPDFNotes and jPDFEditor are fully customizable including the Annotation Toolbar. You can remove any existing tools / buttons from the annotation toolbar and add your own buttons for your own tools. This applies to jPDFNotes and […]
Customizing icon sizes in Qoppa’s PDF Components
Q: Is it possible to customize the size of the icons (to make them smaller or larger) in Qoppa’s PDF components? A: Yes, Qoppa’s components ship with 4 different icons sizes: small, medium, large and extra large. Here is a sample code showing how to adjust the size of the component’s icons: // call this […]
Touch Mode in Qoppa’s PDF components for smaller / touch-enabled screens
Qoppa’s PDF viewing components (jPDFEditor, jPDFNotes, jPDFViewer) feature a Touch Mode that makes editing and annotating PDF documents more friendly on touch screen enabled laptops, PCs and tablets such as the Windows Surface Pro, Dell Venue 11, or Lenovo Yoga 3 Pro. This feature was added in v2016R1. What are the Touch Mode Features? Enlarged […]