\documentclass{article}
\usepackage[designiv,tight]{web} % Requires use of Acrobat
\usepackage{eforms}
\usepackage{aebxmp}

\university{Acro\negthinspace\TeX.Net}
\title{Testing the aebxmp Package}
%\Title{Testing the aebxmp Package}
\Title{%
    {[en-US]Testing the aebxmp Package}
    {[fr]Test du paquet aebxmp}
    {[de]Testen des aebxmp Pakets}
}
\author{D. P. Story}
\Authors{{D. P. Story}{J\u00FCrgen Gilg}}
%\subject{Test file for using E4X to update the XMP Data Model}
%\Subject{[en-US]Test file for using E4X to update the XMP Data Model}
\Subject{%
    {[en-US]Test file for using E4X to update the XMP Data Model}
    {[fr]Fichier de test utilisant E4X pour mettre à jour
            le modèle de données XMP}
    {[de]Testdatei für die Verwendung von E4X, um das XMP Daten
            Modell zu aktualisieren}
}
\pdfLang{en-US}
\metaLang{en,en-US,fr,de}
%\keywords{AcroTeX.Net,XMP,E4X,Adobe Acrobat,JavaScript}
\Keywords{AcroTeX.Net,XMP,E4X,Adobe Acrobat,JavaScript}
\email{dpstory@acrotex.net}
\copyrightStatus{True}
%\copyrightNotice{Copyright (C) \the\year, D. P. Story}
\copyrightNotice{%
    {[en-us]Copyright \u00A9 \the\year, D. P. Story}
    {[fr]Copyright \u00A9 \the\year, D. P. Story}
    {[de]Copyright \u00A9 \the\year, D. P. Story}
}
\copyrightInfoURL{http://www.acrotex.net}

\authortitle{Programming and Development, AcroTeX.Net}
\descriptionwriter{Testing and Promotions Department, AcroTeX.Net}

\customProperties
{%
    {name=Developer,value={D. P. Story, Esq.}}
    {name=Motivator,value=Jürgen Gilg}
%    {name=Motivator,value=J\u00FCrgen Gilg}
}
% Alternate notation
%\customProperties
%{%
%    {name:Developer,value:{D. P. Story, Esq.}}
%    {name:Motivator,value:Jürgen Gilg}
%%    {name:Motivator,value:J\u00FCrgen Gilg}
%}

\newcommand{\cs}[1]{\texttt{\char`\\#1}}

\begin{document}

\maketitle

\section{Viewing Metadata}

Press \texttt{Ctrl+D}, select the \textsf{Description} tab, and click
\textsf{Additional Metadata} to inspect the copyright metadata, populated
by the \textsf{aebxmp} package; or, just click on this button
\pushButton[\CA{View Metadata}
\A{\JS{app.execMenuItem("GeneralInfo");}}]{viewMeta}{}{11bp}

\def\xmpTab{\space\space}%
\def\displayMeta#1{\JS{%
    console.println("#1:");\r
    for (var i=0; i<#1.length; i++)\r\t
        console.println("\xmpTab"+#1[i]);\r
}}

Open the \setLink[\A{\JS{console.clear();console.show();}}]{console
window} and view some of the advanced metadata:
\setLink[\A{\displayMeta{aKeywords}}]{keywords},
\setLink[\A{\displayMeta{aTitle}}]{title},
\setLink[\A{\displayMeta{aSubject}}]{subject}, and
\setLink[\A{\displayMeta{aRights}}]{copyrightNotice}.

\section{Custom Document Properties}
You can define custom properties using the \cs{customProperties} command.
\begin{verbatim}
    \customProperties
    {%
        {name=<name1>,value=<value1>}
        {name=<name2>,value=<value2>}
    }
\end{verbatim}
The value of the \texttt{name} key requires a unique name, which must not
be one of the standard property names \texttt{Title}, \texttt{Author},
\texttt{Subject}, \texttt{Keywords}, \texttt{Creator}, \texttt{Producer},
\texttt{CreationDate}, \texttt{ModDate}, and \texttt{Trapped}.

The properties may be accessed through the \texttt{info} property of the
\texttt{Doc} object. The button \pushButton[\TU{Press to see the document
properties}\CA{Info}\A{\JS{%
    console.show();\r
    console.clear();\r
    for (var o in this.info)\r\t
        console.println("info."+o+"="+this.info[o]);\r
    if (aKeywords!=undefined) {\r\t
    	console.println("List Keywords:");\r\t
    	for (var i=0; i< aKeywords.length; i++){\r\t\t
        	console.println(" "+aKeywords[i]);\r\t
    	}\r
    }
}}]{info}{}{11bp}
opens the console debugger window and displays all the document
properties. Notice in the window, the keywords are listed twice:
the first time is the value of \texttt{this.info.Keywords}, single string;
the second time you see the keywords listed individually. The individual
keywords are accessed using the \texttt{aKeywords} array, see the
\texttt{aeb\_xmp} documentation for more details.

The custom properties may be viewed using the user interface; press
\texttt{Ctrl+D} and choose the \textsf{Custom} tab.

\section{Authors}

As mentioned in the documentation, a new command \cs{Authors} was defined;
for this document, we have in the preamble,
\begin{verbatim}
    \Authors{{D. P. Story}{J\u00FCrgen Gilg}}
\end{verbatim}
Each author can be accessed individually; the button
\pushButton[\CA{Authors}\TU{Get a listing of all authors}\A{\JS{%
    console.show();\r
    console.println("\\n");\r
    for (var i=0; i<this.info.Authors.length; i++)\r\t
        console.println("Author "+(i+1)+": " +this.info.Authors[i]);
}}]{getAuthors}{}{11bp} lists out the authors in the debugger
console.

\end{document}
