Version 1.5.0 (November 4, 2019)
- Adds an option to install a free evaluation of PDF Optimizer when installing PDF Checker (PDF Optimizer license key provided via email)
- Adds a machine-readable tag in output results (canBeOptimized) to indicate that a document could be improved by using PDF Optimizer
- Adds notes to output results to detail how a document could be improved using PDF Optimizer
- Adds a note showing the size of the PDF document to the output results and a machine-readable tag (sizeInBytes) with the same value
- Adds two checks, born-digital and image-only, to indicate whether the PDF was produced in digital form or converted from print or analog equivalents
- Adds checks for whether the PDF claims conformance with PDF/X, PDF/E, PDF/UA, and PDF/VT
Version 1.4 (January 22, 2019)
- Changes name of installer files to conform to standard naming conventions for scriptable server tools.
- Updates End User License Agreement (EULA).
- Updates the installation process so that PDF Checker is removed from the Windows Environment variable for PATH when the program is uninstalled from the system.
Version 1.3.1 (October 24, 2018)
- Updates Datalogics icons in Windows installer to higher resolutions.
- Product installation now places required Adobe PDF Library components in a location less likely to conflict with other programs that also use the Adobe PDF Library.
Version 1.2 (September 25, 2018)
- Adds new feature to attempt to repair damaged files when they are opened. This allows PDF Checker to process more thoroughly and to generate a more complete report. The product does not save the repaired file and does not make any changes to the original document.
- Corrects issue when processing files by removing error conditions when document cannot be opened, but the report is successfully generated.
Version 1.1.1 (March 22, 2018)
- Changes the name of a series of parameters in the JSON profile to make the settings clearer:
- Renames “cleanup:stream-compression” check to “cleanup:suboptimal-compression” to show that it is checking for poorly compressed or uncompressed streams.
- Renames “userdata:annots-with-non-normal-appearances” check to “userdata:contains-annots-without-normal-appearances” to show that it is checking for annotations with missing normal appearances.
- Renames “fonts:fontdescriptor-malformed” check to “fonts:fontdescriptor-missing-fields” to show that it is checking for missing required fields.
- Renames “images:color:compression” check to “images:color:uses-jpeg2000-compression” to better describe the check for compression type.
- Renames “images:grayscale:compression” check to “images:grayscale:uses-jpeg2000-compression” to better describe the check for compression type.
- Renames “images: monochrome:compression” check to “images: monochrome:uses-jbig2-compression” to better describe the check for compression type.
- Updates default messages shown on output report, to add a series of statements to make the report clearer:
- For “fontdescriptor-missing-fields” we add “FontDescriptor has missing required fields”
- For “fontdescriptor-missing-capheight” we add “FontDescriptor is missing potentially required CapHeight field”
- For “contains-thumbnails” we add “Contains page thumbnail images”
- For “contains-annots-not-for-viewing” we add “Contains annotations that are set as invisible for viewing”
- For “contains-annots-not-for-printing” we add “Contains annotations that are set as invisible for printing”
- For “contains-optional-content” we add “Contains optional content (layers)”
- For “contains-private-data” we add “Contains application private data”
- For “image-depth” we add “16-bit/channel color image(s) present”
- Changes default settings:
- Changes “general:unable-to-open:abort-remaining-checks” default to “on”
- Changes “general:password-protected:abort-remaining-checks” default to “on”
- Changes “general:xfa-type:report-as-error” default to “off”
- Changes “general:pdf-v2:report-as-error” default to “off”
- Renames “Warning” header to “Information” in output report to more accurately represent conditions that are not necessarily problematic.
- Copyright date, product name and version number all appear on one line in output report.
- Adds new checks to scan for and detect if the PDF document contains:
- Base 14 fonts that are not fully embedded
- A statement indicating PDF/A conformance
- Font Descriptor dictionaries that are missing required fields per the PDF Reference
- Font Descriptor dictionaries that are missing the CapHeight field, which may be required if the font has Latin characters
- Adds Copyright information and version information to the Windows pdfchecker.exe file.
- Adds a new “Checker Summary” section to the beginning of the output report. This section lists the items that PDF Checker found when reviewing the PDF document. This content is machine readable.
- Changes the output report formatting to remove sections of content where no checks are selected to run.
- Corrects issue when document requires password to edit but not to open.
- Corrects issue in which copyright, version, and name did not appear in output report when no arguments were specified.
- Corrects Details information shown under Windows pdfchecker.exe file. File description shows “Datalogics PDF CHECKER” and Original filename shows “pdfchecker.exe”.
- Corrects usage output to show error code on exit if arguments are wrong.
- Corrects Linux echo during installation from PDFChecker to PDF CHECKER.
- Corrects Linux issue where multiple copies of Adobe PDF Library files were included in the package.
- Removes a potential problem when starting the program on some Windows machines where the DLL file api-ms-win-core-libraryloader-l1-1-1.dll is reported as missing.
- Application and installer are now signed with a certificate from Datalogics.
- Fonts without font descriptors are included in the unembedded font section of the report.
- Malformed metadata objects no longer generate an error message, and are instead flagged in the output report.
- If PDF Checker cannot create or write to the output file, it now displays the error message “Results file creation/open failure. Check permissions to create or open the results file you have indicated.”
- Extends the check for subset fonts from the base font name to the descendant font names as well, to more accurately find all subset fonts.
Version 1.0 (February 28, 2018)
Initial release of new command-line application that scans for and detects PDF error and warning conditions for Windows and Linux 64 systems:
- Cannot open file. The PDF document is not a valid PDF, or is too damaged to open or process.
- The PDF requires password for opening, and a password was not provided.
- The PDF contains an owner password.
- The PDF is an XFA document.
- The PDF document is a PDF 2.0 file.
- The PDF uses fonts not embedded in the file.
- This PDF contains annotations.
- This PDF contains annotations that do not have normal appearances.
In working with PDF Checker, a user can:
- Provide a password on the command line, so that the software can process a PDF document that is password protected.
- Save the results of the review for a PDF document to an output text file.
- Configure a JSON profile file that holds settings for PDF Checker to use when reviewing PDF documents.
Product can scan for and detect the following PDF error and warning conditions, and determine if the document contains the following items:
- owner password
- low / high resolution images
- images compressed with JBIG2 / JPEG2000
- 16-bit / 32-bit color images
- alternate images
- fully embedded fonts
- fonts that are not embedded
- embedded files
- page thumbnails
- application private data
- suboptimal compression used for objects (LZW, ASCII85, RLE; or no compression)
- digital signatures
- annotations marked not for viewing / printing
- layers (optional content)
Product installed to default location “Program Files/Datalogics/PDFChecker.”
User license agreement is included with the installation process.
Configurations included in a JSON profile file, and a default JSON profile is provided called everything.json, with all checks turned on by default.
Program looks for the JSON profile file in the Profiles subdirectory first. If the profile is not found there, the program looks for it in the current working directory.