Setting or Changing PDF File Version

Users might need to change the file version of PDF documents for reasons such as compatibility with other software, or compatibility with features supported in the file version… Note that by default, when jPDFProcess creates a PDF document, the file version number is set to 1.7. Here is sample Java code to change the file […]

Read More

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, […]

Read More

Java SDK Search (and Redact) Text Using Regular Expressions in PDF Documents

The Java sample program below shows how to search formatted fields in a PDF document (such as Social Security Numbers, email addresses, phone numbers or dates), apply redaction annotations and then burn them to remove the underlying text content. Formatted text is identified through the use of regular expressions (“regex”), so the code can be […]

Read More

v2019R1 jPDFWeb Build Notes

Below are the build notes for v2019R1 Fix Branch / Minor Releases for Qoppa’s PDF Library jPDFWeb. Download 2019R1 Builds Version v2019R1.04 – May 01 2020 JPDF-1599 – Convert lines line 0 width in PDF to 0.1 width in SVG so Browsers render them (PDF viewers render them as thin lines). The minimum stroke width […]

Read More

v2019R1 jOfficeConvert Build Notes

Below are the build notes for v2019R1 Fix Branch / Minor Releases for Qoppa’s PDF Library jOfficeConvert. v2019R1 Download Links Version v2019R1.11 – June 22 2020 JOFFICE-505 – Document Specific: Table header duplicated at bottom of table JOFFICE-506 – Auto resized columns in table are a bit off, causing text to wrap Version v2019R1.10 – […]

Read More

v2019R1 PDF Library & Component Build Notes

Below are the build notes for v2019R1 Fix Branch / Minor Releases for the following Qoppa PDF libraries and components. v2019R1 Download Links Java PDF Components: jPDFViewer, jPDFNotes, jPDFEditor Java PDF Libraries deriving from jPDFProcess: jPDFProcess jPDFAssemble, jPDFFields, jPDFImages, jPDFPrint, jPDFSecure, jPDFText Version v2019R1.14 – June 10 2020 JPDF-1653 – Concurrency issue when rendering pages with negative font size […]

Read More

PDF/UA Validation Java Sample

This is a Java sample program using Qoppa’s PDF Preflight library jPDFPreflight. It opens PDF, validates against the PDF/UA sub-format (ISO 14289), then adds annotations on the PDF where errors are found and attaches a Preflight validation report at the end of the PDF and saves it as a new file. Note: This PDF/UA verification […]

Read More

Word to PDF, Excel to PDF, Document Properties Carried Over

As of version 2019, when using jOfficeConvert, Qoppa’s Java PDF library to convert Word documents or Excel workbooks to PDF, document info properties are carried over from the original Microsoft document to the output PDF document. Document properties preserved during conversion: Author Title Subject Keywords

Read More

Write each Excel worksheet to a separate PDF

This Java sample uses Qoppa’s PDF conversion library jOfficeConvert to convert each worksheet of a Microsoft Excel workbook to a PDF document, using the worksheet name as the PDF file name. // Load the document ExcelDocument ed = new ExcelDocument("C:\\test\\input.xlsx", new ExcelConvertOptions()); List<String> workSheetNames = ed.getWorkSheetNames();   for (String name : workSheetNames) { List<String> namesList […]

Read More

Converting an Excel Worksheet to PDF

This Java sample uses Qoppa’s PDF conversion library jOfficeConvert to convert the first worksheet from a Microsoft Excel workbook to PDF. // Load the document ExcelDocument ed = new ExcelDocument("C:\\test\\input.xlsx", new ExcelConvertOptions());   List<String> worksheetNames = ed.getWorkSheetNames();   // Get the name of the first worksheet String sheet1Name = worksheetNames.get(0);   // Tell the ExcelDocument […]

Read More

v2019R1 PDF Library & Component Release Notes

Original Release Date: June 14 2019 Version number: v2019R1 v2019R1 Download Links This version removes the dependency to the external jar cmykProfiles.jar (needed to render PDFs that are using CMYK color space), which can now be removed from the classpath. Java PDF Components: jPDFViewer, jPDFNotes, jPDFEditor Component API Changes (from previous version) Java PDF Libraries deriving […]

Read More

Resolve Error “JCE Provider does not support SHA hash algorithm”

Q: I am building a web application to sign a PDF document with a given .pfx key store. I am running Spring Boot and using Qoppa’s PDF library jPDFSecure. I am getting an exception which states “JCE Provider does not support SHA hash algorithm”. How can I resolve this error? com.qoppa.pdf.PDFException: JCE Provider does not […]

Read More

List all embedded fonts in a PDF document

In version v2019R1, we’ve added a public API in our Java PDF Library jPDFProcess to tell whether a font is embedded in a PDF document or not. This is done through a method called isEmbedded in the IFontResource interface, that returns a boolean. The sample code below will get the list of all font resources […]

Read More

v2019R1 PDF Automation Server Release Notes

Below are the release notes for Qoppa’s PDF Automation Server 2019R1. Download PDF Automation Server v2019R1 Version v2019R1.10 – April 07 2023 JPDF-1JPDF-1868 – DocuSign: Missing font in signature field DA String causes StringIndexOutOfBoundsException671 – Optimizing a PDF with JPEG images with Decode Array sometimes results in black pages JPDF-1712 – Calling clearDocument() when a […]

Read More

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 […]

Read More

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 […]

Read More

Allocate More Memory to PDF Automation Server

Q: I sometimes get a “java heap space” error when running PDF Automation Server. What does this mean? A: When running intense processes in PDF Automation Server or dealing with very large files, you may get a “java heap space” exception. This happens when PDF Automation Server is running out of memory. Note that the […]

Read More

v2018R1 jPDFWeb Build Notes

Below are the build notes for v2018R1 Fix Branch / Minor Releases for Qoppa’s PDF Library jPDFWeb. Download 2018R1 Builds Version v2018R1.18 – April 26 2023 Publish all libraries with homogenized version number Update all code signing certificates Include all fixes and improvements to underlying parsing engine Version v2018R1.04 – April 22 2019 JSVG-180 – […]

Read More

Merge all PDF files contained in a folder as a new PDF document

Here is a sample java program showing how to merge all the PDF files contained in a folder as a new merged PDF document and save it to a new file. This program uses Qoppa’s library jPDFProcess. It can easily be adapted to use jPDFAssemble as well. // create a new PDF document PDFDocument mergePDF […]

Read More

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 […]

Read More

v2018R1 jPDFPreflight Build Notes

Below are the build notes for v2018R1 Fix Branch / Minor Releases for Qoppa’s PDF Library jPDFPreflight. Download 2018R1 Builds Version v2018R1.18 – April 26 2023 Publish all libraries with homogenized version number Update all code signing certificates Include all fixes and improvements to underlying parsing engine Version v2018R1.05 – April 22 2019 JPDF-1364 – […]

Read More

v2018R2 PDF Automation Server Release Notes

Below are the release notes for v2018R2 for Qoppa’s PDF Automation Server. Download 2018R1 Builds Version 2018R2.03 – April 16 2018 PAS-455 – Allow single set of credentials in Alfresco properties file JSVG-179 – Remove invalid Unicode characters fffe, ffff when converting PDF to SVG / HTML5 JPDF-1363 – Add PDF/A-2b Validation + Conversion for “Spot […]

Read More

Flatten & Merge 2 PDFs into 1 with Java

Here is a sample java program that uses Qoppa’s PDF library jPDFProcess to open two PDF files, flatten annotations and fields in each PDF document, then merge the two documents into one, and finally save the resulting merged document. // Load document 1 PDFDocument pdfDoc1 = new PDFDocument ("C:\\temp\\input1.pdf", null); // flatten annotations in document […]

Read More

v2018R1 jPDFOptimizer Build Notes

Below are the build notes for v2018R1 Fix Branch / Minor Releases for Qoppa’s PDF Library jPDFOptimizer. Download 2018R1 Builds Version v2018R1.18 – April 26 2023 Publish all libraries with homogenized version number Update all code signing certificates Include all fixes and improvements to underlying parsing engine Version v2018R1.02 – Jan 30 2019 JPDF-1338 – […]

Read More

Signature hash will not fit in allotted space

When signing using PKCS7 or PAdes with a timestamp server, you might receive the following exception: com.qoppa.pdf.PDFException: Signature hash (7895 bytes) will not fit in allotted space (7500 bytes).Increase timestamp server length estimate. To resolve this issue, you can increase the length estimate when defining the timestampserver parameters (the default length is originally set to […]

Read More

How to validate a PDF/A-3b ZUGFeRD invoice

In version 2018, Qoppa’s PDF library jPDFPreflight has added a new validation profile for PDF/A-3b ZUGFeRD invoice. Here is some sample code to validate that a PDF file is compliant with this sub-format: PDFPreflight pdfPreflight = new PDFPreflight("c:\\qoppa\\testData\\zugferd_invoice.pdf", null); PreflightResults results = pdfPreflight.verifyDocument(new PDFA_3_B_ZUGFeRD_Verification(), null); if (results.isSuccessful()) { System.out.println("PDF is compliant"); }PDFPreflight pdfPreflight = new […]

Read More

Extract XML invoice data file from ZUGFeRD PDF invoice

A ZUGFeRD invoice data is saved in xml format within a PDF document as a file attachment so that it can be programmatically parsed and processed. Qoppa’s PDF library jPDFProcess allows to extract the xml file. Here is some sample code to extract the ZUGFeRD xml file contained in a PDF and save it to […]

Read More