Software to validate PDF/X-1a:2001 or PDF/X-3:2002 compliant files

I need to validate several PDF documents (books) that I am writing in LaTeX.

They are documents for print on demand and the publisher asks me PDF files compliant with PDF/X-1a:2001 or PDF/X-3:2002.

What software, free or paid (not excessively expensive, I am only interested in validation) could I use?

Software I've seen on this topic:

  • VeraPDF: It's free, but it claims to be a PDF/A file validator

  • PDF Studio: It is not clear to me what kind of validations it does. They offer various types of software, such as a Java API called pdfpreflight to validate PDF/X-1a:2001 or PDF/X-3:2002.

  • Master PDF Editor: Does not talk about validation.

NOTE: I have discarded Scribus because the documents are written and generated in LaTeX.


The only answer to your literal question — what software can validate PDF/X? — is to purchase commercial tools and run a "preflight" check, as others have said.

But, do you need to validate your PDF/X or is the goal to generate a valid PDF/X? I'm guessing all you want is to generate valid PDF/X and then let the publisher, who has already purchased Adobe's validator, do the validation.

Generating valid PDF/X-1a:2001

Step 1: Install pdfx.sty

apt install texlive-latex-extra

That installs CTAN's pdfx package. Here is the manual for pdfx.sty.

Step 2: \usepackage{pdfx}

To use it, just add the following line at the beginning of your document:

\usepackage[x-1a1]{pdfx}

Step 3: Add metadata to mainfilename.xmpdata

Presuming the name of your main file is "main.tex", create a file called "main.xmpdata" and add in metadata. There are a lot of options and none are mandatory, but you probably want to at least have your name on it:

\Title{Baking through the ages}
\Author{A. Baker\sep C. Kneader}
\Language{en-US}
\Keywords{cookies\sep muffins\sep cakes}
\Publisher{Baking International}

Other options

  • If you want to generate PDF/X-3:2003 compliant output, you'd use [x-303] instead of [x-1a1]. See the documentation for the full list of standards available.

  • If you are picky about color, which is what PDF/X is for after all, you can use .xmpdata to specify all sorts of color profiles. I recommend against it as it can be a thorny path, but it is available if you need it.

  • You can also embed the main.xmpdata directly in your main LaTeX file using \begin{filecontents*}{\jobname.xmpdata}…\end{filecontents*}. If you do that be sure you put it at the top of the file before the \documentclass line.