Q: How do I know what cypher suite is being used to run my applet? A: To debug an applet and output connection information to the console, run with the following system property: -Djavax.net.debug=all When we run our sample applets with Java 8, Java uses the following cipher suite on our server: Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 […]
All posts by admin
Fit to Height View when Rendering PDF with Android qPDF Toolkit
Q: How can I implement a fit to height view using Qoppa’s Android qPDF Toolkit and the PDF Viewer QPDFNotesView? A: We don’t have a predefined way of fitting the document to its height within the viewer. You can calculate the appropriate scale and set it on the viewer. See sample code below. package com.sample; […]
Counting the number of cores when running in a Virtual Machine (VM)
Q: We are running within a VM of an appliance. Do we have to license the whole appliance or just the VM that Qoppa’s library will be running within? A: If you are running Qoppa’s PDF library within a Virtual Machine, you will only need to purchase a license for the number of cores allocated […]
How can I remove a signature from a signed jar file / How can I unsign a jar?
Q: How can I unsign an existing jar file? A: Follow the steps below to remove a signature from a jar file Open the jar using WinRar or Winzip (jars are actually zip files) Go into the META-INF directory Delete all files (*.SF, *.RSA) but keep MANIFEST-MF. Open the MANIFEST.MF and Remove all entries below […]
Invalid SH-256 signature file digest when jar is signed
Q: Our deployment will sign all jars in the classpath and when we added Qoppa’s jar to it and run in production, we are getting the following error: java.io.IOException: invalid SH-256 signature file digest for com/qoppa/pdf/k/m.class at com.sun.deploy.cache.CachEntry$9.run(CacheEntry.java:1786) at java.security.AccessController.doProviledged(Native Method) at com.sun.deploy.cache.CacheEntry.writeFileToDisk(CacheEntry.java:1680)java.io.IOException: invalid SH-256 signature file digest for com/qoppa/pdf/k/m.class at com.sun.deploy.cache.CachEntry$9.run(CacheEntry.java:1786) at java.security.AccessController.doProviledged(Native Method) […]
OldWordFileFormatException when converting Word 6 and Word 95 files to PDF
Q: We are using Qoppa’s jWordConvert for converting Microsoft Word documents to Adobe PDF. We are getting the below exception for the documents with a version less than or equal to 95. Can jWordConvert convert older Word documents? com.qoppa.org.apache.poi.hwpf.OldWordFileFormatException: The document is too old – Word 95 or older. Try HWPFOldDocument instead? at com.qoppa.org.apache.poi.hwpf.HWPFDocument.<init>(Unknown Source) […]
Submit a PDF form to a service and receiving a response back
Q: How can I submit FDF, XFDF or HTML data to a server and receive a response back? A: Here is a sample service that receive a PDF file and then responds with an FDF file. package com.qoppa.jaxrs.service.test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import […]
JavaScript warnings when submitting forms or emailing documents
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 […]
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 […]
Create and add PDF annotations to a PDF document with jPDFProcess
Here is a sample Java program showing how to create and add annotations such as square, rubber stamp, typewriter, callout and free text to a PDF document using Qoppa’s PDF library jPDFProcess. The annotations are added to the first page of a PDF document. A first PDF is saved with all the annotations and a […]
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 […]
Staple and Duplex options when printing PDF in Java
Q: Is it possible to specify staple & duplex options on a per-document basis with jPDFPrint? A: Yes, it is: Java supports setting print job attributes for each print job, this is done through PrintRequestAttribute objects. jPDFPrint supports passing these attributes through. The attributes that you want to use are: javax.print.attribute.Finishings.STAPLEjavax.print.attribute.Finishings.STAPLE and javax.print.attribute.Sides.DUPLEXjavax.print.attribute.Sides.DUPLEX Here is a sample […]
jPDFOptimizer v2015R2 Build Notes
v2015R2.01 – June 06 2016 jPDF-768 – Black section when compressing JPEG images with ICC color spaces or CMYK color spaces with Java 1.8 at a specific DPI v2015R2.01 also includes all fixes that made it into the build for Qoppa’s PDF engine.
How can I disable the “Download” button on the browser PDF viewer
Q: I want disable the “Download” and “Print” options in the browser when streaming PDF files. I do not want users to be able to print or download my PDF files. Is it possible to do so by using PDF encryption and permissions? A: There is no way to disable the download button on the […]
2016-04 PDF Automation Server Release
Download PDF Automation Server v2016R1 Version 2016R1 – April 1 2016 This version of PDF Automation Server adds a new Rest API Module and an easy way to script a custom Job for the Workflow Module. Read Version Announcement in Qoppa’s Blog New Features PAS-52 – New Restful Server Module PAS-64 – Open custom job […]
Create PDF Redaction Annotations and Burn / Apply Redaction Annotations Programmatically
Here is some Java sample code to add a new redaction annotation and then burn / apply it on a page of a PDF document using Qoppa’s PDF library jPDFProcess. Java Library to Add & Burn Redaction Annotations: jPDFProcess can redact text, images and shapes / path commands in PDF documents, it is extremely sophisticated […]
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 […]
Adding custom properties to PDF digital signatures
Q: Is it possible to set custom properties to digital signatures using Qoppa’s PDF SDK? A: Yes, it is possible to do so using jPDFSecure, jPDFProcess or qPDF Toolkit. Adding custom property to the signature dictionary This method can be used to add additional custom properties to the signature dictionary. SigningInformation.setCustomProperty(key, value);SigningInformation.setCustomProperty(key, value); You can […]
Slow when printing a PDF page that has a watermark
Q: When I print a page with no watermark, it prints quite fast, less than 2 seconds, as expected. But when I add a “Draft” watermark to the same page and send it to the printer, it prints much slower and can take up to 20 or 30 seconds for the same page to print. […]
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 resolve website error ERR_SSL_VERSION_OR_CIPHER_MISMATCH – Bluehost VPS Issue
After our internet host, Bluehost, updated our server last night, our website would not load anymore when called with https on most browsers, including Chrome, Firefox and Safari. The error message we were getting was: This site can’t provide a secure connection www.domain.com uses an unsupported protocol ERR_SSL_VERSION_OR_CIPHER_MISMATCH 1) Only in https This is only […]
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 […]
qPDF Toolkit Version 5
qPDF Toolkit Change Log / Release History Download qPDF Toolkit Version 5.12 – 06/11/2018 QT-31 – Rounding error in the appearance height of digital signature fields Version 5.11 – 12/15/2017 QT-29 – Document Specific: Text typed in interactive form fields is not showing Version 5.10 – 12/14/2017 QT-28 – Fix stroke issue for CJK fonts […]
PDF Form Fill Activity for efficient interactive form filling in Android SDK
FormFill is a an activity included in Qoppa’s Android PDF SDK, qPDF Toolkit, that can be used in conjunction with Qoppa’s PDF view for Android, QPDFNotesView, to fill PDF forms fast and efficiently, even on smaller Android phone screens. It opens as a separate activity that shows all the fields present in the interactive PDF […]
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);
Adding a background or foreground image to a PDF page
Here is a sample Java program showing how to add background and foreground images to pages of a PDF document while still keeping all original page content as vector, i.e, the page still contain text, images and any vector drawing commands. This sample uses Qoppa’s PDF library jPDFProcess. This sample program opens a source PDF, […]
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 […]
Automate text field extraction from PDF into an XML file
Use this Custom Job as an easy solution to extract text fields from incoming PDF documents (such as invoices, statements, financial applications, medical records, etc….) and save them in a structured format, for instance an XML file. Note: This custom job will work with any PDF document (assuming the document contains text, otherwise the PDF […]