In v2016R1, we’re adding settings to turn off warning in JavaScript for the submitForm and mailDoc function. Turn off warning on submitform // turn off warning in submitform function // before connecting to a URL JavaScriptSettings.setSubmitFormWarn(false);// turn off warning in submitform function // before connecting to a URL JavaScriptSettings.setSubmitFormWarn(false); Turn off warning on maildoc […]
Category: jPDFNotes: PDF Annotating Component
Swing PDF Component to integrate in web or Java applications to view, annotate PDF documents and fill interactive forms.
Standard Business Stamps Names and Appearances in Adobe Acrobat and Adobe Reader DC
Q: I created a standard stamp “Approved” in jPDFNotes. After I opened the PDF AND rotated the stamp in Adobe Reader DC, the rubber stamp changed to a black X. Note that resizing works well, this only happens when rotating. A: Qoppa PDF engine follows the specifications for the standard business rubber stamps names. Standard […]
NullPointerException in isDispatchThreadImpl when adding Swing components outside the Swing Event Thread
Q: We’re having an issue using PDFViewerBean when adding a button to the toolbar. The issue appears periodically. The code: JButton button = new JButton ("Some button"); PDFViewerBean.getSelectToolbar().add(button); button.addActionListener(someListener);JButton button = new JButton ("Some button"); PDFViewerBean.getSelectToolbar().add(button); button.addActionListener(someListener); The exception stack trace: java.lang.NullPointerException at java.awt.EventQueue$2.isDispatchThreadImpl(Unknown Source) at sun.awt.SunToolkit.isDispatchThreadForAppContext(Unknown Source) at javax.swing.JComponent.revalidate(Unknown Source) at javax.swing.JComponent.setBorder(Unknown Source) at […]
Changing the select cursor on annotation components
The sample below shows how to change the select cursor on annotations components. This done by adding a IPDFListener to the PDFNotesBean and implementing the method afterDocOpened(). In this method, the cursor of annotations components is changed to the predefined hand cursor. PDFNotesBean notesBean = new PDFNotesBean(); // !! This is important to ensure that […]
Invalid CMAP name when rendering or printing a PDF page
Q: When opening a PDF file, I get the following error: A: You are missing cmaps.jar in your classpath which contains CMaps, used to read and display character encodings used with CJK (Chinese, Japanese, Korean) content. Download cmaps.jar This error can happen when rendering PDF documents in Qoppa’s PDF components (jPDFViewer, jPDFNotes, jPDFEditor) or […]
Getting interactive field location information (bounds and page number)
To get PDF interactive form fields location information (including signature fields) such as dimension and page number, you will need to access the widget which is the visual representation of the field on the page. When using Qoppa’s PDF components (jPDFViewer, jPDFNotes, jPDFEditor), you can get information from the editing component. // get Acroform AcroForm […]
How to type µ mu in PDF interactive text fields and text annotations
Q: Is it possible to insert character “µ” in any form text field or text annotations using Qoppa’s PDF components? A: Qoppa’s PDF engine support inserting “micro”, but not “mu” which are 2 characters that look the same visually. “micro” is Unicode 00B5 and “mu” is Unicode 03BC. This is a bit of an issue […]
How to hide the validation icon on signed digital signature fields
Q: Is there a way to turn off digital signature validity when rendering a PDF page in Qoppa’s PDF components and libraries? Our application will perform our own internal signature validation. A: Yes, it is possible by simply making a call to the following static method (before loading the signed PDF): PDFRenderHints.setRenderSignatureVerification(false);PDFRenderHints.setRenderSignatureVerification(false); This method sets […]
Changing the PDF document pane background in Qoppa PDF components
Q: How can I change the main document pane background, where one can view and navigate through the PDF pages, in Qoppa’s PDF components jPDFViewer, jPDFNotes or jPDFEditor? A: This is how you can change the main pane background: pdfNotesBean.getRootPane().getContentPane().setBackground(Color.darkGray);pdfNotesBean.getRootPane().getContentPane().setBackground(Color.darkGray);
Dragging PDF and image files into Qoppa’s PDF Component
You can add a DropTargetListener to your application or frame in order to listen to PDF files being dropped and then have the files be opened in Qoppa’s PDF component (jPDFViewer, jPDFNotes, jPDFEditor). We have implemented this feature in our sample demo applications so you can download our demo to try and then look into […]
Fast web view when streaming large linearized PDFs
Q: Are Qoppa products able to load large PDF documents that are linearized efficiently ver the web in order to render them fast into Qoppa’s PDF components? A: We’re almost done implementing this feature which will make it much faster to be able to display the first page of large linearized PDFs when streaming them […]
Keys events in Qoppa’s PDF components
Qoppa PDF components are implementing KeyListener and listening to key events redirected by the application. They handle key events such as Page Up, Page Down, End, Home, Escape, Up, Down, Right and Left. Read more about keyboard shortcuts in the components user guide: Using the keyboard to navigate Using CTRL + V key on the […]
Buttons and Toolbars in Qoppa’s PDF components
jPDFViewer Toolbar jPDFNotes Toolbar AlignmentToolbar AnnotPropertyToolbar jPDFEditor Toolbar
Changing thumbnail panel background
Sample code to change Thumbnail / Pages Panel background color. You need to get the thumbnail list from the thumbnail panel and set the background color on the list. PDFNotesBean = new PDFNotesBean(); pdfNotes.getThumbnailPanel().getThumbList().setBackground(Color.red);PDFNotesBean = new PDFNotesBean(); pdfNotes.getThumbnailPanel().getThumbList().setBackground(Color.red);
Support multiple entries or layers in digital signature appearance stream
Update (May 2021): The PDF format cleared this up further in PDF Ref 2.0 Section 12.7.5.5 and made it clear that the appearance stream of a digital signature should be created at the time of signature: For signature fields that are visible, the appearance dictionary (AP) for the widget annotation of these fields should be […]
Changing default annotation tool settings and behavior
Q: How can we change the default color of a text annotation? It’s always red. A: There is a package called com.qoppa.pdfNotes.settings that contains classes allowing to change the default behavior of all our annotations tools. So for instance, to set the default color for the free text annotation (also called typewriter annotation), you would […]
Integrating a PDF viewing component into JavaFX application
Below is a sample code to integrate our PDF viewing, annotating and form filling component, jPDFNotesBean, into a JavaFX application. This sample shows 2 ways of integrating the Java bean: Frame: Display Qoppa’s PDF bean Inside a JFrame. This works well. Embedded: Display Qoppa’s PDF bean inside a Swing Node within a JavaFX Scene. There […]
Streaming efficiently a PDF document from a URL for viewing
Q: Do Qoppa’s PDF components (jPDFViewer, jPDFNotes, jPDFEditor) support reading linearized PDF documents in an efficient way or is there another way to load PDF documents on demand for viewing from a web server? A: We are in the process of implementing the loading PDF documents in a way that takes advantage of the linearization […]
jPDFNotes v2015R2 Build Notes and Download
v2015R2.07 – November 30 2016 JPDF-908 – Annotation imported with rich text does not export changes Change JAR signing timestamp server v2015R2.06 – November 17 2016 JPDF-906 – Issues with Import / Export XFDF due to resulting in sometimes importing content that was only from the last paragraph <p> element. JPDF-853 – Fill and do […]
Qoppa New Print Dialog
In version v2015R2, Qoppa added a custom print dialog much more powerful than the default Java print dialog. This new dialog is set as the default print dialog in jPDFViewer, jPDFNotes, jPDFEditor, jPDFPrint, jPDFProcess. The new enhanced print dialog includes many new features such Print Preview, Print Current View, Enhanced Page Range Options, and Print […]
PDF Annotations and Fields: Read Only versus Locked versus Locked Contents
Below are the descriptions listed in the PDF Reference 1.7 that I am putting here as a reference in determining how we should handle these fields. TABLE 8.16 Annotation flags ReadOnly (PDF 1.3) If set, do not allow the annotation to interact with the user. The annotation may be displayed or printed (depending on the […]
Spell Check in PDF Annotations and Form Fields using jOrtho
Version v2015R2 added a spell checker to Qoppa’s PDF components jPDFNotes and jPDFEditor. jOrtho Plugin and Licensing Qoppa Software has modified the jOrtho source to work with some of the custom components in PDFNotesBean / PDFEditorBean. jOrtho is a commercial library developed by Inet Software that requires licensing. I-net Software is offering a special discount […]
How to update the text on an existing rubber stamp in a PDF document
Q: We need to update an existing stamp in a PDF page and change the text on it. How can we do that using Qoppa’s Java PDF annotating component, jPDFNotes? Q: You will need to remove the existing rubber stamp and create a new stamp with the same properties but different text. The example below […]
Adding Undo / Redo functionality with shortcut keys to Qoppa’s PDF components
Q: How can I add Undo and Redo functionality to Qoppa’s PDF components jPDFNotes, jPDFEditor? The class that provides undo/redo functionality is the UndoManager. PDFNotesBean provides an implementation which can be referenced with: PDFNotesBean.getUndoManager() PDFNotesBean.getUndoManager() The methods which trigger an undo and redo, are respectively: UndoManager.undo(); UndoManager.redo();UndoManager.undo(); UndoManager.redo(); Add Undo / Redo in a Menu […]
LiveCycle Dynamic XFA Forms Support in Qoppa’s PDF Library
LiveCycle XFA forms are complex and uncommon PDF forms that are designed to be rendered dynamically from the drawing and layout information present in the XFA definition. This kind of forms are not widely supported and only a couple of vendors are able to render them. XFA Forms were deprecated in PDF 2.0 Adobe has […]
Removing JavaScript Popup Warnings / Turning On Off JavaScript in Qoppa PDF Library / Component
Default JavaScript Behavior Here is the default behavior: Qoppa’s PDF components will prompt user to choose whether to enable or disable Javascript when opening a JavaScript-enabled PDF form. Qoppa’s Java PDF libraries have JavaScript disabled for all PDF documents. Turn On JavaScript & Remove JavaScript Warning To turn on JavaScript and remove the warning popup, […]
Customizing the signing process in jPDFNotes and jPDFEditor
Q: Is it possible to change the workflow of the signing process in jPDFNotes? A: Yes, you can customize the signature process. What you are seeing right now is the default implementation of signing a field, which works from a file and prompts the end user to save the file right after signing. However, you […]
How to change the DPI / Resolution of the PDF page view in Qoppa’s PDF component
Q: When opening a PDF document in Qoppa’s PDF component, jPDFViewer, it seems that the 100% magnification is not exactly the same as the 100% view in Adobe Reader. A: This is a preference that can be set in Adobe Acrobat and Adobe Reader under Edit > Preferences > Page Display. By default, jPDFViewer, jPDFNotes […]
Print Settings (margins, rotation, centering,..) when printing PDF in Java
Q: When we print PDF documents using Qoppa’s library jPDFPrint or components (jPDFViewer, jPDFNotes or jPDFEditor), how can I adjust the print margins? I want the printed page to be exactly the same as when printing with Adobe® Reader®’s. A: We spend a lot of time making sure that our printouts match Adobe Reader / […]
jPDFNotes component to implement a PDF workflow review cycle
Q: The way we have implemented jPDFNotes the document is passed around a number of reviewers on a “workflow”. Each reviewer can add notes. Is it possible to “lock up” previous markups, so that new markup data can be added but previous markup data can not be modified? A: Yes it can be done, but […]