Using a PKCS12 certificate file generated by a newer version of Java (12.x.x or later) will throw an error in Java versions below 8u301 or 11.0.1 due to the new PBES2 cipher not being supported. java.io.IOException: parseAlgParameters failed: ObjectIdentifier() — data isn’t an object ID (tag = 48) at sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters(Unknown Source) at sun.security.pkcs12.PKCS12KeyStore.engineLoad(Unknown Source) at […]
Category: Uncategorized
“Unable to acquire access token” error when using Microsoft OAuth
Q: When I connect to a Windows machine from a Linux machine using PAS Manager, login with Microsoft OAuth and it shows error “Unable to acquire access token – Unable to open default system browser”. How can I solve this issue? A: This error displays when PAS Manager is having difficulty to get credentials information from Microsoft […]
Video: Introduction to PDF Automation Server
This video is an introduction to our PDF Automation Server. Video Transcript: Hi today, I’ll be introducing you to Qoppa’s PDF Automation Server a powerful tool providing a rich set of pdf processing functions to streamline document workflows within your company. What you’re viewing now is our website where you can download a free […]
How to check that a PDF document is linearized or formatted for fast web view
Using Qoppa’s PDF library, jPDFProcess, you can check if a document is formatted for fast web view using 2 methods: // Open a PDF document PDFDocument pdfdocument = new PDFDocument("C:\test.pdf", null); // Returns true if document is formatted for Fast Web View System.out.println("Document is linearized: " + pdfdocument.isLinearized()); // Returns the linearization version […]
Is Qoppa PDF SDK thread safe and is it multi-threaded?
Question: Does Qoppa’s PDF library jPDFImages make use of parallelism, using multiple cores instead of just one? Answer: Content in a PDF page is serial, it consists of a list of drawing commands that have to be executed in order. This is because content elements can overlap and can build on each other, so it […]
How to Convert PDF Portfolio to Images
Q: We use Qoppa PDF library jPDFProcess to convert PDF documents uploaded by users into TIFF format for one of our applications. We’ve just seen an Adobe PDF Portfolio document (containing 3 separate PDFs) that was attempted to be uploaded to our application, and the resulting TIFF was a single page sheet from Adobe reading: […]
Leave feedback or review for Qoppa’s products
Qoppa’s team strives to develop the best products possible and to provide excellent support to our customers. Support Question If you have any question or support request, make sure to email us or call +1 604-730-8989 so we can help resolve your issue promptly. Leave Feedback If you are satisfied with our products and services, […]
Java Sample Code to Recognize (OCR) and Add Text to a PDF Document
Here is a simple small Java program that uses Qoppa’s PDF library jPDFProcess and the Tesseract libraries to recognize text in a PDF and add it as invisible text on each PDF page: // Load a PDF that contains scanned pages needing to be OCRed PDFDocument pdfDoc = new PDFDocument("C:/test/test.pdf", null); // initialize the OCR […]
How to skip PDF pages that have already been OCRed when recognizing text in a PDF
If you are OCRing a document where some pages have already been OCRed, you can skip these pages: TessJNI ocr = new TessJNI(); for (int count = 0; count < pdf.getPageCount(); ++count) { PDFPage page = pdf.getPage(count); // if the page already has invisible text, skip it if (!page.containsInvisibleText()) { String pageOCR = ocr.performOCR("eng", page, […]
Clearing out a job’s working files in PDF Workflow Module
Qoppa PDF Automation Server Workflow Module will keep files that are being processed in a working folder, so that the server can resume file processing after it is stopped and restarted. Sometimes, you might need to clear a file from the working folder for a given job. You can find the instructions below. Working files […]
IDs and class names in SVG Element Structure
Starting with v2018R1, when converting from PDF to SVG using jPDFWeb, the library will used the following standardized names for IDs and class names in the SVG output for clarity. The new SVG element structure looks like this: <svg id=”qoppa_document” … > # Top level SVG element that holds the document <g id=”qoppa_viewxform” … > […]
Sample Java Program to Print to a given printer
This is a sample Java program to check Java printer connections on your machine. It will print a page with a yellow image on it to the first print service found. package test; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import javax.print.PrintService; public class […]
Crop pages in a PDF using Java PDF library jPDFProcess
This is a sample Java program showing how to crop a page in Java using Qoppa’s PDF library jPDFProcess. This small snippet shows how to open a PDF, get the first page, set a new crop box and save the cropped PDF to a new file name. // Open PDF file PDFDocument pdfDoc = new […]
Transform from view coordinates to PDF coordinates to take into account cropbox and rotation on a PDF page
Q: When I add text markup annotations at the location returned by findText(), sometimes, the location of the text markup is off. This seems to happen when the PDF is cropped or rotated. Can you explain how to fix this? A: When a page has a rotation or a crop box, PDF coordinates and display […]