% \iffalse meta-comment % % File: pdfx.dtx % % Copyright (c) 2016, CV Radhakrishnan , % Han The Thanh , % Ross Moore , % Peter Selinger % % This file may be distributed and/or modified under the conditions % of the LaTeX Project Public License, either version 1.2 of this % license or (at your option) any later version. The latest version % of this license is in: % % http://www.latex-project.org/lppl.txt % % and version 1.2 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % \fi % % \CheckSum{2209} % \iffalse % %<*driver> \documentclass[a4paper]{ltxdoc} \providecommand{\pdfxopt}{a-2u} \usepackage{rvdtx} \usepackage[\pdfxopt]{pdfx} \usepackage[T1]{fontenc} \hypersetup{citecolor=blue} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{\jobname.dtx} \PrintChanges \PrintIndex \end{document} % % \fi % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \GetFileInfo{pdfx.dtx} % % \DoNotIndex{\newcommand,\newenvironment} % % \DoNotIndex{\def,\edef,\gdef,\xdef,\global,\long,\let} % \DoNotIndex{\expandafter,\string,\the,\ifx,\else,\fi} % \DoNotIndex{\csname,\endcsname,\relax,\begingroup,\endgroup} % \DoNotIndex{\DeclareTextCommand,\DeclareTextCompositeCommand} % \DoNotIndex{\space,\@empty,\special,\@nil,\advance\@nnil} % \DoNotIndex{\\,\@gobble,\@@,\@fornoop,\@fortmp,\@ifundefined} % \DoNotIndex{\@tempcnta,\@tempcntb,\{,\},\alph,\bgroup,\egroup} % \DoNotIndex{\do,\end,\HN,\ifcase,\ifnum,\IfFileExists,\ifvmode} % \DoNotIndex{\ignorespaces,\immediate,\input,\item,\jobname} % \DoNotIndex{\leavevmode,\loop,\repeat,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newcounter,\next,\or,\par,\renewcommand} % \DoNotIndex{\renewcommand,\renewenvironment,\stepcounter} % \DoNotIndex{\Tg,\thepage,\unskip,\write,\advance,\{,\}} % \DoNotIndex{\@ifpackageloaded,\@pdfcreationdate,\@pdfcreator} % \DoNotIndex{\@pdfmoddate,\AtBeginDocument,\catcode,\DeclareOption} % \DoNotIndex{\endinput,\endlinechar,\errmessage,\everyeof,\futurelet} % \DoNotIndex{\Hy@DisableOption,\Hy@UseMaketitleInfos,\hypersetup} % \DoNotIndex{\inputencoding,\InputIfFileExists,\NeedsTeXFormat} % \DoNotIndex{\newif,\noexpand,\obeyspaces,\PackageError,\PDF@FinishDoc} % \DoNotIndex{\pdfcatalog,\pdfcreationdate,\pdfgeninterwordspace} % \DoNotIndex{\pdfinterwordspace,\pdfinterwordspaceoff,\pdfgentounicode} % \DoNotIndex{\pdfinfo,\pdfinterwordspaceon,\pdflastobj,\pdfmapline} % \DoNotIndex{\pdfmdfivesum,\pdfminorversion,\pdfobj,\pdfobjcompresslevel} % \DoNotIndex{\pdfpageattr,\pdfresetpageorigin,\pdfstringdef} % \DoNotIndex{\pdftexbanner,\ProcessOptions,\ProvidesPackage,\RequirePackage} % \DoNotIndex{\scantokens,\typeout} % % \changes{v1.00}{2008/12/01}{Initial commit to the CVS.} % \changes{v1.01}{2008/12/10}{glyphtounicode-cmr.tex included with the % package.} % \changes{v1.3}{2008/12/01}{Fix copyright in xmp files.} % \changes{v1.5.4}{2015/02/28}{Fixed timezone bug; Unicode support; more % PDF variants; added color profiles.} % \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg % with external color profiles.} % \changes{v1.5.6}{2016/02/05}{Suppressed `dummy-space' font warning; % removed spurious '?' in XMP packets; improved handling of Color Profiles; % ensure Hy@pdfatrue when building PDF/A, for link flags; % properly enables xcolor conversion of color models.} % % \title{Generation of PDF/X- and PDF/A-compliant PDFs % with pdf\TeX{} --- \texttt{pdfx.sty}} % \date{2016/02/05} % \version{1.5.6} % \keywords{PDF, PDF/A, PDF/X, pdf\TeX, \LaTeX} % \author{C.\,V.\,Radhakrishnan, \Thanh, Ross~Moore {\upshape\small % and} Peter Selinger} % \contact{\texttt{[cvr,thanh]@river-valley.org}, % \texttt{ross.moore@mq.edu.au}, \texttt{selinger@mathstat.dal.ca}} % % \maketitle % % \StopEventually{} % % \section[Introduction]{Introduction} % % This package\footnote{A slightly earlier version of this documentation % was published as \cite{pdfx}.} % currently supports generation of PDF/X- and % PDF/A-compliant documents using \pdftex, in some of their variants. % Support for additional standards, such as PDF/E, PDF/VT % is also available; see the complete list in Section~\ref{ssec-options} below. % By `supports', we mean that the package provides correct and sufficient % means to declare that a document conforms with a stated PDF variant % (PDF/X, PDF/A, PDF/E, PDF/VT, etc.) along with the version % and/or level of conformance. % This package also allows appropriate metadata and color profile % to be specified, according to the requirements of the PDF variant. % % Metadata elements, most of which must ultimately be written as XML % using the UTF-8 encoding, is provided via a file named |\jobname.xmpdata|, % for the running \LaTeX\ job. Without such a file, providing some required % information as well as a large range of optional data, a fully validating % PDF file cannot be achieved. The PDF can be created, having the correct % visual appearance on all pages, but it will not pass validation checks. % Section~\ref{ssec-metadata} describes how this file should be constructed. % % \medskip % What this package \emph{does not} do is to check for all the details % of document structure and type of content that may be required % (or restricted) within a PDF variant. For example, PDF/VT \cite{PDFVT} requires % well-structure parts, using Form XObject sections tagged as `/DPart'. % Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require % a fully `Tagged PDF', including a detailed structure tagging which % envelops the complete contents of the document. % This is beyond the current version of \pdftex, as commonly shipped. % So while this package provides enough to meet the declaration, % metadata and font-handling aspects for these PDF/A variants, % it is not sufficient to produce fully conforming PDFs. % However, with extra \pdftex-based software that \emph{is} capable % of producing `Tagged PDF', this package can be used as part of % the overall workflow to produce fully conforming documents. % It is also reported to have been successfully used with Lua\TeX. % % % \subsection{PDF standards}\label{ssec-standards} % % PDF/X and PDF/A are umbrella terms used to denote several ISO % standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3} % that define different subsets of the PDF standard \cite{PDF17,ISO32000}. % The objective of PDF/X is to facilitate graphics exchange between % document creator and printer and therefore, has all requirements % related to printing. For instance, in PDF/X, all fonts need to be % embedded and all images need to be CMYK or spot colors. PDF/X-2 and % PDF/X-3 accept calibrated RGB and CIELAB colors along with all other % specifications of PDF/X. % Since 2005 other variants of PDF/X have emerged, as extra effects % (such as layering and transparency) have been supported within the PDF % standard itself. The full range of versions and conformance supported % in this package is discussed below in Section~\ref{ssec-options}. % % PDF/A defines a profile for archiving PDF documents, which ensures % the documents can be reproduced in the exact same way in years to % come. A key element to achieving this is that PDF/A documents % are 100\% self-contained. All the information needed to display the % document in the same manner every time is embedded in the file. % A PDF/A document is not permitted to be reliant on information from % external sources. Other restrictions include avoidance of % audio/video content, JavaScript and encryption. % Mandatory inclusion of fonts, color profile and standards-based metadata % are absolutely essential for PDF/A. % Later versions allow for use of image compression and file attachments. % % PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows. % PDF/VT \cite{PDFVT} allows for high-volume customised form printing, such as utility bills. % PDF/UA (`Universal Accessibility') is emerging as a standard \cite{PDF-UA,PDFUA1} supporting % Assistive Technologies, incorporating web-accessibility guidelines (WCAG) % for electronic documents. % In future, PDF/H may emerge for health records and medical-related % documents. Other applications can be envisaged. % Declarations and Metadata are supported for the first two of these. % The others are the subject of further work; revised versions of this % package can be expected in later years. % % % \section[Usage]{Usage} % % The package can be loaded with the command: % \begin{decl} % \defmacro{usepackage}|[