\documentclass{article}
\usepackage[designiv,tight]{web} % dvips or dvipsone
\usepackage{eforms}
\usepackage{aebxmp}

\university{Acro\negthinspace\TeX.Net}
\title{Testing the aebxmp Package}
\author{D. P. Story}
\Authors{{D. P. Story}{J\u00FCrgen Gilg}}
\subject{Test file for using E4X to update the XMP Data Model}
%\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}
\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\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}

\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 (typeof aKeywords=="function") {\r\t
        console.println("List Keywords:");\r\t
        var i=0;\r\t
        while(aKeywords(i)!=undefined) {\r\t\t
            console.println(util.printf("\tabiv\%s",aKeywords(i)));\r\t\t
            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()} function, 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}
