% \iffalse meta-comment % % File: pdfx.dtx % % Copyright (c) 2008, CV Radhakrishnan , % Han The Thanh % % 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{374} % \iffalse % %<*driver> \documentclass[a4paper]{ltxdoc} \usepackage{rvdtx} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{pdfx.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,\{,\}} % % \changes{v1.00}{2008/12/01}{Initial commit to the CVS.} % % \title{Generation of PDF/X-1a and PDF/A-1b compliant PDF's % with PDF\TeX{} --- \texttt{pdfx.sty}} % \date{2008/12/01} % \version{1.1} % \keywords{\pdf, \pdfx, \pdfa, pdf\TeX, \LaTeX} % \author{C.\,V.\,Radhakrishnan {\upshape\small and} \thanh} % \contact{\texttt{[cvr,thanh]@river-valley.org}} % % \maketitle % % \StopEventually{} % % \section{Introduction} % % \textsc{pdf/x} and \textsc{pdf/a} are umbrella terms used to denote % several \textsc{iso} standards that define different subsets of the % \pdf standard. The objective of \textsc{pdf/x} is to facilitate % graphics exchange between document creator and printer and % therefore, has all requirements related to printing. For instance, % in \pdfx, all fonts need to be embedded and all images need to be % \textsc{cmyk} or spot colors. \textsc{pdf/x-2} and \textsc{pdf/x-3} % accept calibrated \textsc{rgb} and \textsc{cielab} colors along with % all other specifications of \pdfx. % % \textsc{pdf/a} defines a profile for archiving \pdf documents which % ensures the documents can be reproduced the exact same way in years % to come, a key element to achieve this is that the \textsc{pdf/a} % documents shall be 100\% self contained. All the information needed % to display the document in the same manner every time, is embedded % in the file. \textsc{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 \textsc{pdf/a}. % % This package currently supports generation of \pdfx and \pdfa % compliant documents using \pdftex. More and more standards will be % included in future. % % \section{Usage} % % The file, namely |pdfx.dtx| is a composite document of % program code and documentation in \LaTeX{} format in the % tradition of \emph{literate programming}. You % can extract the program code alone by stripping off the % documentation part by running \LaTeX{} or \TeX{} over the installer % namely, |pdfx.ins| which is also provided with this file. To % get the documentation which you are reading now, you need to run % (\pdf)\LaTeX{} over the file, |pdfx.dtx|. % % \subsection{Data file for XMP metadata} % % As you are aware, standards compliant \pdf documents need % \textsc{xmp} metadata to be included. In order to create % \textsc{xmp} in the prescribed \xml format, a simple data file % holding the meta information of the document needs to be created % either through a program or by hand. For our purposes, we name it as % |\jobname.xmpdata|, a simple example of which will look like the % following: % \begin{verbatim} % \Keywords{pdfTeXPDF/X-1aPDF/A-b} % \Title{Sample LaTeX input file} % \Author{LaTeX project team} % \Org{TeX Users Group} % \end{verbatim} % You may note that the keywords are separated by \xml elements % || instead of comma character. This is the correct % format required by the \xmp metadata which is in \xml format. % Similarly, several other kinds of data can be captured using the % following commands: % \begin{enumerate} % \item |\Subject| % \item |\Creator| % \item |\Producer| % \item |\Volume| % \item |\Issue| % \item |\CoverDisplayDate| % \item |\CoverDate| % \item |\Copyright| % \item |\Doi| % \item |\Lastpage| % \item |\Firstpage| % \item |\Journaltitle| % \item |\Journalnumber| % \item |\CreatorTool| % \item |\AuthoritativeDomain| % \end{enumerate} % The above commands are self-explanatory. Users can resort to % alternate ways to create |xmp| file for inclusion in \pdf. However, % minimal |\jobname.xmpdata| shall be created with |\Title| and % |\Author| commands along with their corresponding values for |pdfx| % package to work correctly. You may check % \href{http://www.adobe.com/devnet/xmp/}{Adobe \textsc{xmp} % Development Center} for more exhaustive information about % Extensible Metadata Platform (\textsc{xmp}). An \textsc{xmp} % Toolkit \textsc{sdk} which supports \textsc{gnu}/Linux, Macintosh % and Windows operating systems is also provided under \textsc{bsd} % licence. % % |pdfx| makes use of |xmpincl| package to include |xmp| data into the % \pdf. A good look at the documentation of |xmpincl| package will % greatly help the users to understand the process of |xmp| data % inclusion. % % \subsection{Limitations and dependencies} % % |pdfx.sty| works only with \pdftex. It further depends on the following % packages: % \begin{enumerate} % \item |xmpincl| for insertion of metadata into \pdf. % \item |hyperref| for hyperlinking, bookmarks, etc. % \item |glyphtounicode.tex| maps glyph names to corresponding Unicode. % \item |glyphtounicode-cmr.tex| does the same for |cmr| fonts. % \end{enumerate} % Necessary color profile files may be obtained from International % Color Consortium. Please take a look at % \url{http://www.color.org/iccprofile.xalter}. % % \subsection{Files included} % % Following files are included in the archive: % % \begin{enumerate} % \item |pdfx.dtx| --- composite package and documentation. % \item |pdfx.ins| --- installer batch file. % \item |pdfx-1a.xmp| --- specimen |xmp| template for \pdfx. % \item |pdfa-1b.xmp| --- specimen |xmp| template for \pdfa. % \item |small2e.xmpdata| --- specimen data file to provide values % relating to the document to generate metadata. % \end{enumerate} % A directory named |pdfx| may be created under |$TEXMF/tex/latex| and % all |*.sty| and |*.xmp| may be moved to the same. \TeX's file % database may need to be updated by suitable command depending on % your distribution and operating system. % % \subsection{Options} % % The package can be loaded with the command: % \begin{decl} % \defmacro{usepackage}|[