Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ gems:
# Google services
vera_google_analytics: UA-64476051-2
preforma_google_analytics: UA-25697327-3
verapdf_version_number: 1.28.2
verapdf_version_number: 1.30.2
2 changes: 1 addition & 1 deletion cli/fixing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: page
title: veraPDF CLI Metadata Fixing
---

veraPDF (Greenfield version only) can optionally fix issues related to document metadata provided that there are no other PDF/A or PDF/UA issues detected. This includes:
veraPDF can optionally fix issues related to document metadata provided that there are no other PDF/A or PDF/UA issues detected. This includes:
- adding document-level XMP metadata if it is missing
- adding PDF/A or PDF/UA identification to the already existing XMP metadata, if there are no other PDF/A (or PDF/UA) issues detected and the document will become PDF/A (or PDF/UA) compliant after this fix
- removing PDF/A or PDF/UA identification from the XMP metadata if it is present, but the document does not conform to the declared PDF/A (or PDF/UA) flavour
Expand Down
2 changes: 1 addition & 1 deletion cli/validation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ The user can validate PDF files against a custom validation profile by using opt
----------------------------------------------------------------

### Report format
By default, veraPDF generates report in xml format. The user can specify a different report format (`text`, `raw`, `html`, `json`) by using `--format` option with argument `text`, `raw`, `html` or `json` accordingly.
By default, veraPDF generates report in xml format. The user can specify a different report format (`text`, `raw`, `html`, `json`) by using `--format` option with argument `text`, `raw`, `html` or `json` respectively.

Note. Before veraPDF release 1.24 `raw` report was called `xml`. Starting from veraPDF release 1.24 `xml` and `mrr` refer to the same report format, and `mrr` report format is deprecated.

Expand Down
73 changes: 6 additions & 67 deletions develop/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,6 @@ of either:

Getting veraPDF
---------------
There are two implementations of the veraPDF software library, one that uses a
fork of the [Apache PDFBox project](https://github.com/veraPDF/veraPDF-pdfbox)
as a PDF parser and validation model.

#### Greenfield vs PDFBox

Since releasing the PDFBox implementation
the veraPDF consortium have developed their own "Greenfield" PDF parsing and validation model
that's available under the same dual open source licenses as the rest of veraPDF.
You can also use PDFBox under the APL license. We recommend using Greenfield parser, as the support for PDFBox parser is not guaranteed to be available long term.

#### Greenfield POM dependency
To include veraPDF's greenfield parser and validation model add:
Expand All @@ -44,47 +34,24 @@ To include veraPDF's greenfield parser and validation model add:
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>validation-model</artifactId>
<version>1.28.1</version>
<version>1.30.2</version>
</dependency>
```

You can change the version number if you desire.

#### PDFBox POM dependency
This can be included in your project with this Maven dependency:

```xml
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>pdfbox-validation-model</artifactId>
<version>1.28.1</version>
</dependency>
```

### javax vs jakarta
Both implementations above depend on javax. If your project uses jakarta, you should use alternative dependencies:
The implementation above depends on javax. If your project uses jakarta, you should use the alternative dependency:

```xml
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>validation-model-jakarta</artifactId>
<version>1.28.1</version>
<version>1.30.2</version>
</dependency>
```

for Greenfield implementation and

```xml
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>pdfbox-validation-model-jakarta</artifactId>
<version>1.28.1</version>
</dependency>
```

for PDFBox implementation.

If your project uses `core` or `verapdf-library` dependencies, they also have alternative jakarta versions (`core-jakarta` or `verapdf-library-jakarta` accordingly).
If your project uses `core` or `verapdf-library` dependencies, they also have alternative jakarta versions (`core-jakarta` or `verapdf-library-jakarta` respectively).

### GitHub for source code
The up to date source repos are on GitHub.
Expand All @@ -99,25 +66,13 @@ cd veraPDF-validation
mvn clean install
```

#### PDFBox version GitHub project
For the PDFBox implementation:

```shell
git clone https://github.com/veraPDF/veraPDF-pdfbox-validation.git
cd veraPDF-pdfbox-validation
mvn clean install
```

Validating a PDF
----------------
To use the library to validate a PDF file you can do the following:

### Initialising your chosen foundry
The veraPDF library is unaware of the implementations and needs to be
initialised before first use. This is a slightly different process, depending on
whether you've chosen the greenfield or PDFBox implementation.
### Initialising Greenfield Foundry

#### Greenfield Foundry initialise
The veraPDF library needs to be initialised before first use.

```java
import org.verapdf.core.EncryptedPdfException;
Expand All @@ -133,22 +88,6 @@ import org.verapdf.pdfa.flavours.PDFAFlavour;
VeraGreenfieldFoundryProvider.initialise();
```

#### PDFBox Foundry initialise

```java
import org.verapdf.core.EncryptedPdfException;
import org.verapdf.core.ModelParsingException;
import org.verapdf.core.ValidationException;
import org.verapdf.pdfbox.foundry.PdfBoxFoundryProvider;
import org.verapdf.pdfa.Foundries;
import org.verapdf.pdfa.PDFAParser;
import org.verapdf.pdfa.results.ValidationResult;
import org.verapdf.pdfa.PDFAValidator;
import org.verapdf.pdfa.flavours.PDFAFlavour;

PdfBoxFoundryProvider.initialise();
```

### Validating a PDF File
You only need to initialise once, whichever version you're using, now the code to
validate a file called `mydoc.pdf` against the PDF/A 1b specification is:
Expand Down
2 changes: 1 addition & 1 deletion develop/processor/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The main entry point to integrate veraPDF project into another one is to use the
## Example Integration
```java
public static void main(String[] args) {
// Foundry initialising. Can be changed into PDFBox based one
// Foundry initialising.
VeraGreenfieldFoundryProvider.initialise();
// Default validator config
ValidatorConfig validatorConfig = ValidatorFactory.defaultConfig();
Expand Down
2 changes: 1 addition & 1 deletion gui/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ The available options are:

If Policy is selected the `Choose Policy` button is activated, the user can use this to load a [policy schematron file](/policy) or user can drag&drop policy file into `Policy file not chosen` area.

The Fix Metadata checkbox (enabled only in the Greenfield version) determines whether the software will attempt to amend the PDF document metadata to ensure it is compliant with the PDF/A or PDF/UA specification.
The Fix Metadata checkbox determines whether the software will attempt to amend the PDF document metadata to ensure it is compliant with the PDF/A or PDF/UA specification.

### Execute button
This button is only enabled when a PDF file has been chosen. If you've chosen to use a custom validation profile from the dropdown then you must also select an external profile file. Once enabled and pressed the PDF file will be processed according to the selected options.
Expand Down
48 changes: 17 additions & 31 deletions install/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,19 @@ title: Installing veraPDF

## Downloading the Installer

There are currently two versions of veraPDF:
There is currently one version of veraPDF: the veraPDF Greenfield implementation built around a bespoke PDF parser and
PDF/A and PDF/UA validation models developed by the veraPDF team

- the veraPDF Greenfield implementation built around a bespoke PDF parser and
PDF/A and PDF/UA validation models developed by the veraPDF team; and
- a version that uses [Apache PDFBox](https://pdfbox.apache.org/) as a PDF
parser and to implement the PDF/A validation model.

It's possible to download the latest release and development builds for each
version. The release versions are stable and you should use these unless you're sure you want the development build and stability/reliability isn't important to you. The development builds aren't guaranteed to be stable and may contain unfinished features. You should use these if you're testing a bug fix or new feature.
It's possible to download the latest release or development builds. The release versions are stable and you should use these unless you're sure you want the development build and stability/reliability isn't important to you. The development builds aren't guaranteed to be stable and may contain unfinished features. You should use these if you're testing a bug fix or new feature.

This gives four possible downloads:

| Download | Greenfield Implementation | Apache PDFBox Implementation |
| Download | Greenfield Implementation |
|----------------|-----------------------------------------------------------------------------------------------------------|
| Release Installer | <a href="https://software.verapdf.org/releases/verapdf-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> The latest stable veraPDF zip package.</a> | <a href="https://software.verapdf.org/releases/verapdf-pdfbox-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'pb-rel', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> The latest stable PDF Box zip package.</a> |
| | <a href="https://software.verapdf.org/releases/verapdf-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> | <a href="https://software.verapdf.org/releases/verapdf-pdfbox-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'pb-rel', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> |
| Development Installer | <a href="https://software.verapdf.org/develop/verapdf-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-dev', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> Development veraPDF zip package.</a> | <a href="https://software.verapdf.org/develop/verapdf-pdfbox-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'pb-dev', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> Development PDFBox zip</a> |
| | <a href="https://software.verapdf.org/develop/verapdf-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> | <a href="https://software.verapdf.org/develop/verapdf-pdfbox-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'pb-dev', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> |
| Release Installer | <a href="https://software.verapdf.org/releases/verapdf-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> The latest stable veraPDF zip package.</a> |
| | <a href="https://software.verapdf.org/releases/verapdf-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> |
| Development Installer | <a href="https://software.verapdf.org/develop/verapdf-installer.zip" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-dev', eventAction: 'download', eventLabel: 'zip'});"><i class="fa fa-file-zip-o" aria-hidden="true"></i> Development veraPDF zip package.</a> |
| | <a href="https://software.verapdf.org/develop/verapdf-installer.zip.asc" onclick="ga('send', { hitType: 'event', eventCategory: 'gf-rel', eventAction: 'download', eventLabel: 'gpg'});"><i class="fa fa-certificate" aria-hidden="true"></i> GPG signature.</a> |
{:.table }

### Verifying the installer download
Expand All @@ -40,12 +35,7 @@ All versions of the installer are provided as a zip file that contains:
- a bash script that executes the installer on Linux or Mac OS machines,
`vera-install`.

The installer jar file includes the application binary files and supplementary
resources, including:

- Validation Model description;
- test PDF Documents; and
- the veraPDF Validation Profiles.
The installer jar file includes the application binary files.

## Using the veraPDF installer

Expand Down Expand Up @@ -85,11 +75,6 @@ the installation on another computer, see [Automated installation](#autoinstall)

## What's installed where?

Following installation, test PDF Documents can be found in the ‘corpus’ subfolder
below the application installation folder, the Validation Model description is
located in the ‘model’ subfolder, while the Validation Profiles are located in
the ‘profiles’ subfolder.

The implementation of the veraPDF Command line application, Desktop GUI and
other software components are located in ‘bin’ subfolder.

Expand All @@ -109,10 +94,9 @@ A typical example is shown below:
</com.izforge.izpack.panels.target.TargetPanel>
<com.izforge.izpack.panels.packs.PacksPanel id="sdk_pack_select">
<pack index="0" name="veraPDF GUI" selected="true"/>
<pack index="1" name="veraPDF Mac and *nix Scripts" selected="true"/>
<pack index="2" name="veraPDF Validation model" selected="false"/>
<pack index="3" name="veraPDF Documentation" selected="true"/>
<pack index="4" name="veraPDF Sample Plugins" selected="false"/>
<pack index="1" name="veraPDF CLI" selected="true"/>
<pack index="2" name="veraPDF Documentation" selected="true"/>
<pack index="3" name="veraPDF Sample Plugins" selected="false"/>
</com.izforge.izpack.panels.packs.PacksPanel>
<com.izforge.izpack.panels.install.InstallPanel id="install"/>
<com.izforge.izpack.panels.finish.FinishPanel id="finish"/>
Expand All @@ -136,11 +120,13 @@ Installation started
Framework: 5.1.3-84aaf (IzPack)
Platform: linux,version=6.1.27-gentoo-r1-x86_64,arch=x64,symbolicName=null,javaVersion=17.0.8.1
[ Starting to unpack ]
[ Processing package: veraPDF GUI (1/3) ]
[ Processing package: veraPDF GUI (1/4) ]
Cleaning up the target folder ...
[ Processing package: veraPDF CLI (2/4) ]
Cleaning up the target folder ...
[ Processing package: veraPDF Mac and *nix Scripts (2/3) ]
[ Processing package: veraPDF Documentation (3/4) ]
Cleaning up the target folder ...
[ Processing package: veraPDF Documentation (3/3) ]
[ Processing package: veraPDF Sample Plugins (4/4) ]
Cleaning up the target folder ...
[ Unpacking finished ]
Installation finished
Expand Down
4 changes: 2 additions & 2 deletions plugins/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ The additional features reported by third-party Tools are listed in the PDF Feat

The veraPDF software expects that Extractor returns the list of elements describing the custom features. They will be added as child elements to the `pluginFeatures` element. This element is automatically added to the element `customFeatures` as soon as the Extractor returns the custom features list.

For example, a Plugin defines the Extractor that for some specific ICC profile (object with type ICCPROFILE) returns two elements describing the custom features. The element names are `theCustomFeature1` and `theCustomFeature2`. The element values are `theFeatureValue1` and `theFeatureValue2` accordingly. In this case in the Features Report the element `iccProfile` for the ICC profile object will have the additional element `customFeatures` with the following content:
For example, a Plugin defines the Extractor that for some specific ICC profile (object with type ICCPROFILE) returns two elements describing the custom features. The element names are `theCustomFeature1` and `theCustomFeature2`. The element values are `theFeatureValue1` and `theFeatureValue2` respectively. In this case in the Features Report the element `iccProfile` for the ICC profile object will have the additional element `customFeatures` with the following content:

#### Example
```xml
Expand Down Expand Up @@ -113,7 +113,7 @@ Maven shade plugin.
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>core</artifactId>
<version>[1.28.0,1.29.0)</version>
<version>[1.30.0,1.31.0)</version>
</dependency>
</dependencies>
<build>
Expand Down
6 changes: 3 additions & 3 deletions policy/info-dict/report.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<report>
<buildInformation>
<releaseDetails id="core" version="1.28.1" buildDate="2024-01-10T02:34:00Z"/>
<releaseDetails id="gui" version="1.28.1" buildDate="2024-01-13T11:30:00Z"/>
<releaseDetails id="validation-model" version="1.28.1" buildDate="2024-01-10T02:39:00Z"/>
<releaseDetails id="core" version="1.30.2" buildDate="2026-01-10T02:34:00Z"/>
<releaseDetails id="gui" version="1.30.2" buildDate="2026-01-13T11:30:00Z"/>
<releaseDetails id="validation-model" version="1.30.2" buildDate="2026-01-10T02:39:00Z"/>
</buildInformation>
<jobs>
<job>
Expand Down