Skip to content

veraPDF GUI, CLI and installer

License

GPL-3.0, MPL-2.0 licenses found

Licenses found

GPL-3.0
LICENSE.GPL
MPL-2.0
LICENSE.MPL
Notifications You must be signed in to change notification settings

veraPDF/veraPDF-apps

Repository files navigation

veraPDF-apps

Command line and GUI industry supported PDF/A and PDF/UA Validation

Build Status Maven Central CodeCov Coverage Codacy Badge

GitHub issues GitHub issues GitHub issues GitHub issues

Licensing

The veraPDF PDF/A Validation Library is dual-licensed, see:

Documentation

See the veraPDF documentation site.

Quick Start

veraPDF GUI

Download release version

You can download a Java-based installer for the latest veraPDF GUI release from our download site. The current installation process requires Java 8, 11, 17 or 21 to be pre-installed.

Download latest development version

If you want to try the latest development version you can obtain it from our development download site. Be aware that we release development snapshots regularly, often more than once a day. While we try to ensure that development builds are well tested there are no guarantees.

Install from zip package

Once downloaded unzip the archive which contains the installer jar with batch and shell scripts to launch, the zip contents are as follows:

verapdf-${project.version}/verapdf-install.bat
verapdf-${project.version}/verapdf-install
verapdf-${project.version}/verapdf-izpack-installer-${project.version}.jar

Where ${project.version} is the last development or release version.

Windows users should run the 'verapdf-install.bat' batch file, while Linux and OSX users should run the shell script, verapdf-install. It's possible to run the installer directly on any platform:

java -jar <path-to-installer-jar>/verapdf-izpack-installer-${project.version}.jar

Linux full command line download and install

Linux users can download and execute the veraPDF installer using the following commands:

wget http://downloads.verapdf.org/rel/verapdf-installer.zip
unzip verapdf-installer.zip
cd verapdf-<version>
./verapdf-install

veraPDF GUI manual

We've prepared a manual for the GUI which is included in the library project and can be downloaded from GitHub.

JVM configuration options

The startup script found in the install dir, e.g. .../verapdf/verapdf-gui for Linux, or .../verapdf/verapdf-gui.bat for Windows can be used to pass configuration options to the JVM. This is done by setting $JAVA_OPTS for Linux, or %JAVA_OPTS% in the Window batch file. Alternatively these can be passed directly as parameters when calling the shell or batch script.

Building the veraPDF-apps from Source

Pre-requisites

In order to build this project you'll need:

Life will be easier if you also use Git to obtain and manage the source.

Building veraPDF

First you'll need to obtain a version of the veraPDF-apps source code. You can compile either the latest release version or the latest development source.

Downloading the latest release source

Use Git to clone the repository and ensure that the master branch is checked out:

git clone https://github.com/veraPDF/veraPDF-apps
cd veraPDF-apps
git checkout master

or download the latest tar archive or zip archive from GitHub.

Downloading the latest development source

Use Git to clone the repository and ensure that the integration branch is checked out:

git clone https://github.com/veraPDF/veraPDF-apps
cd veraPDF-apps
git checkout integration

or download the latest tar archive or zip archive from GitHub.

Use Maven to compile the source

Call Maven install:

mvn clean install

Testing the build

You can test your build by running the greenfield GUI application from the greenfield-apps sub-module.

java -jar greenfield-apps/target/greenfield-apps-${project.version}.jar

Where ${project.version} is the current Maven project version. This should bring up the veraPDF GUI main window if the build was successful.

Building the Docker image

The accompanying Dockerfile can be used to build a Docker image containing the veraPDF CLI and GUI applications. The image is based on the official Alpine image. It doesn't build the project, instead it downloads a version of the installer. It also builds a slimline JRE which is used to trim the final image size.

The version built is controlled by three arguments in the Dockerfile, VERAPDF_VERSION, VERAPDF_MINOR_VERSION and VERAPDF_INSTALLER_FOLDER. These can be used to select a specific installer at invocation time. The default values are VERAPDF_VERSION=1.26, VERAPDF_MINOR_VERSION=2 and VERAPDF_INSTALLER_FOLDER=releases, which builds the latest production version, e.g. 1.26.2.

To run the latest dev build available in the GitHub registry:

docker run --rm -it -v "$(pwd):/data" ghcr.io/verapdf/cli:latest a.pdf 

To build and run the very latest version:

docker build -t verapdf .
docker run -it -v "$(pwd):/data" --name verapdf verapdf a.pdf 

To build a specific version, e.g. 1.22.3:

docker build --build-arg VERAPDF_VERSION=1.22 --build-arg VERAPDF_MINOR_VERSION=3 -t verapdf .

To build a specific development version argument VERAPDF_INSTALLER_FOLDER should be set to develop.