Preface

The Current Situation of Testing PDF in Projects

These days telephone bills, insurance policies, official notifications and many types of contract are delivered as PDF documents. They are the result of a process chain consisting of programs in various programming languages using numerous libraries. Depending on the complexity of the documents to be produced, such programming is not easy. The software may have errors and statistically will have errors. So it should be tested in some of the following ways:

  • Is the expected text within the expected page region?

  • Is the bar code's text the expected text?

  • Does the layout fulfill the requirements?

  • Do the embedded ZUGFeRD data have the expected values?

  • Are the values of the embedded ZUGFeRD data correspond with the visible values?

  • Does a PDF comply with DIN 5008?

  • Is the PDF signed? When and by whom?

It should scare developers, project managers and CEO's that until now there is almost no way of repeatedly testing PDF documents. And even the options which are available are not used as frequently as they should be. Unfortunately, manual testing is widespread. It is expensive and prone to errors.

With PDFUnit, any document, whether created using a powerful design tool, exported from MS Word or LibreOffice, processed using an API, or dropped out of an XSL-FO workflow, can be tested.

A User Interface for Automated Tests - a Contradiction?

Most automated tests ared started without a Windows-style program. But the PDFUnit-Monitor works interactively and as an interaction-free program. The Monitor watches directories and starts tests immediately when new PDF documents are stored in the directory. So, an IT-team can create documents in any way at any time and the PDFUnit-Monitor shows the validation results whithout any user-interaction.

The PDFUnit-Monitor is easy to use. Test cases will be defined in Excel files, so that non-programmers can write tests. Additionally, the monitor can be used interactively to run individual tests.

Chapter 3: “Features” describes all available functions.