ConTeXt template: pdfa variable to generate PDF/A (#4294)

The resulting PDF can be verified using the Apache PDFBox preflight app.

```
$ java -jar preflight-app-2.0.8.jar test.pdf 
The file test.pdf is a valid PDF/A-1b file
```

Instructions on how to install the ICC profiles on ConTeXt standalone can be found in the wiki: <http://wiki.contextgarden.net/PDFX#ICC_profiles>.
If the ICC profiles are not available the log will contain messages like these

```
backend         > profiles > profile specification 'sRGB.icc' loaded from '/usr/local/texlive/2017/texmf-dist/tex/context/colors/icc/context/colorprofiles.xml'
backend         > profiles > error, couldn't locate profile 'srgb.icc'
backend         > profiles > no default profile 'srgb.icc' for colorspace 'rgb'
backend         > profiles > profile specification 'sRGB IEC61966-2.1' loaded from '/usr/local/texlive/2017/texmf-dist/tex/context/colors/icc/context/colorprofiles.xml'
backend         > profiles > error, couldn't locate profile 'srgb.icc'
backend         > profiles > invalid output intent 'sRGB IEC61966-2.1'
```

and the resulting PDF will not be valid PDF/A:

```
$ java -jar preflight-app-2.0.8.jar test.pdf 
The file test.pdf is not a valid PDF/A-1b file, error(s) :
2.4.3 : Invalid Color space, The operator "g" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, The operator "G" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, /DeviceGray default for operator "TJ" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, /DeviceGray default for operator "TJ" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, The operator "g" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, The operator "G" can't be used without Color Profile on page 1
2.4.3 : Invalid Color space, /DeviceGray default for operator "TJ" can't be used without Color Profile on page 1
```

However, the PDF will still be generated and the "errors" shown in the log do not break anything.
This commit is contained in:
Henri Menke 2018-03-18 17:05:55 +13:00 committed by John MacFarlane
parent 155a2ac039
commit 46f4238a2a
2 changed files with 17 additions and 0 deletions

View file

@ -1624,12 +1624,22 @@ Variables for ConTeXt
`lof`, `lot`
: include list of figures, list of tables
`pdfa`
: adds to the preamble the setup necessary to generate PDF/A-1b:2005.
To successfully generate PDF/A the required ICC color profiles have to
be available and the content and all included files (such as images)
have to be standard conforming. The ICC profiles can be obtained
from [ConTeXt ICC Profiles]. See also [ConTeXt PDFA] for more
details.
[ConTeXt Paper Setup]: http://wiki.contextgarden.net/PaperSetup
[ConTeXt Layout]: http://wiki.contextgarden.net/Layout
[ConTeXt Font Switching]: http://wiki.contextgarden.net/Font_Switching
[ConTeXt Color]: http://wiki.contextgarden.net/Color
[ConTeXt Headers and Footers]: http://wiki.contextgarden.net/Headers_and_Footers
[ConTeXt Indentation]: http://wiki.contextgarden.net/Indentation
[ConTeXt ICC Profiles]: http://wiki.contextgarden.net/PDFX#ICC_profiles
[ConTeXt PDFA]: http://wiki.contextgarden.net/PDF/A
[`setupwhitespace`]: http://wiki.contextgarden.net/Command/setupwhitespace
[`setupinterlinespace`]: http://wiki.contextgarden.net/Command/setupinterlinespace
[`setuppagenumbering`]: http://wiki.contextgarden.net/Command/setuppagenumbering

View file

@ -38,6 +38,13 @@ $endif$
$if(pagenumbering)$
\setuppagenumbering[$for(pagenumbering)$$pagenumbering$$sep$,$endfor$]
$endif$
$if(pdfa)$
% attempt to generate PDF/A
\setupbackend
[format=PDF/A-1b:2005,
intent=sRGB IEC61966-2.1,
profile=sRGB.icc]
$endif$
% use microtypography
\definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=yes, pnum=yes]