diff options
author | Norbert Preining <norbert@preining.info> | 2021-06-20 03:01:22 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-06-20 03:01:22 +0000 |
commit | 0b024adf546cd484554e4de5bd1a9919a4fdd03d (patch) | |
tree | f688c8afa79d522868966c9c91e09088f28b5248 /macros/latex/contrib/docassembly | |
parent | daa6873fe1d06863ffc2980970295b39071f02ba (diff) |
CTAN sync 202106200301
Diffstat (limited to 'macros/latex/contrib/docassembly')
-rw-r--r-- | macros/latex/contrib/docassembly/README.md | 15 | ||||
-rw-r--r-- | macros/latex/contrib/docassembly/aeb_pro.js | 177 | ||||
-rw-r--r-- | macros/latex/contrib/docassembly/docassembly.dtx | 32 | ||||
-rw-r--r-- | macros/latex/contrib/docassembly/docs/docassembly.pdf | bin | 335594 -> 341939 bytes | |||
-rw-r--r-- | macros/latex/contrib/docassembly/docs/install_jsfiles.pdf | bin | 189663 -> 0 bytes | |||
-rw-r--r-- | macros/latex/contrib/docassembly/docs/install_jsfiles.tex | 325 |
6 files changed, 39 insertions, 510 deletions
diff --git a/macros/latex/contrib/docassembly/README.md b/macros/latex/contrib/docassembly/README.md index 56dd576cc8..6765966759 100644 --- a/macros/latex/contrib/docassembly/README.md +++ b/macros/latex/contrib/docassembly/README.md @@ -1,6 +1,15 @@ -docassembly -Dated: 2021-06-11 -Author: D. P. Story +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% docassembly.sty package, %% +%% Copyright (C) 2021 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dated: 2021-06-18 Targeted audience: LaTeX authors who love their pdflatex, lualtex, xelatex, or dvips -> ps2pdf workflow, who also own Acrobat Pro application. diff --git a/macros/latex/contrib/docassembly/aeb_pro.js b/macros/latex/contrib/docassembly/aeb_pro.js deleted file mode 100644 index 5dbfe4d53a..0000000000 --- a/macros/latex/contrib/docassembly/aeb_pro.js +++ /dev/null @@ -1,177 +0,0 @@ -/* - AEB Pro Document Assembly Methods - - Copyright (C) 2012 -- 2021 AcroTeX.Net - D. P. Story - http://www.acrotex.net - - Version 1.6.1 - - v1.6.1 aebCreateTemplate now returns an object - v1.6 Added aebAddWatermarkFromText, aebLaunchURL - v1.5 Added aebCertifyInvisibleSign -*/ - -if ( typeof aebTrustedFunctions == "undefined") { - aebTrustedFunctions = app.trustedFunction( function ( doc, oFunction, oArgs ) - { - app.beginPriv(); - var retn = oFunction( oArgs, doc ); - app.endPriv(); - return retn; - }); -} -aebAddWatermarkFromFile = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - var Msg=function(e){return (aebAddWatermarkFromFile.msg==undefined)?("Add Watermark from File Error: " + e.toString()):aebAddWatermarkFromFile.msg;} - app.beginPriv(); - try { doc.addWatermarkFromFile(oArgs); } catch(e) {console.println(Msg(e));} - app.endPriv(); - aebAddWatermarkFromFile.msg=undefined; -}); -aebAddWatermarkFromText = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.addWatermarkFromText(oArgs); - app.endPriv(); -}); -aebImportIcon = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.importIcon(oArgs); - app.endPriv(); -}); -aebInsertPages = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - var Msg=function(e){return (aebInsertPages.msg==undefined)?("Insert Pages Error: " + e.toString()):aebInsertPages.msg;} - app.beginPriv(); - try { doc.insertPages(oArgs); } catch(e) {console.println(Msg(e));} - app.endPriv(); - aebInsertPages.msg=undefined; -}) -aebAppOpenDoc = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - var Msg=function(e){return (aebAppOpenDoc.msg==undefined)?("App Open Doc Error: " + e.toString()):aebAppOpenDoc.msg;} - app.beginPriv(); - try { return app.openDoc(oArgs); } catch(e) {console.println(Msg(e));} - app.endPriv(); - aebAppOpenDoc.msg=undefined; - return retn; -}) -aebImportTextData = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.importTextData(oArgs); - app.endPriv(); -}); -aebImportSound = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.importSound(oArgs); - app.endPriv(); -}); -aebSaveAs = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - app.execMenuItem("Save"); - app.endPriv(); -}); -aebDocSaveAs = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - var Msg=function(e){return (aebDocSaveAs.msg==undefined)?("Doc SaveAs Error: " + e.toString()):aebDocSaveAs.msg;} - app.beginPriv(); - try { - return doc.saveAs(oArgs); - } catch(e){console.println(Msg(e));} - app.endPriv(); - aebDocSaveAs.msg=undefined; - -}); -aebExtractPages = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.extractPages(oArgs); - app.endPriv(); -}); -aebMailDoc = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.mailDoc(oArgs); - app.endPriv(); -}); -aebImportDataObject = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.importDataObject(oArgs); - app.endPriv(); -}); -aebSignatureSign = app.trustPropagatorFunction( function ( oArgs, field ) -{ - app.beginPriv(); - return field.signatureSign(oArgs); - app.endPriv(); -}); -aebSecurityHandlerLogin = app.trustPropagatorFunction( function ( oArgs, securityHandler ) -{ - app.beginPriv(); - return securityHandler.login(oArgs); - app.endPriv(); -}); -aebTimestampSign = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return doc.timestampSign(oArgs); - app.endPriv(); -}); -aebSecurityGetHandler = app.trustPropagatorFunction( function ( oArgs, security ) -{ - app.beginPriv(); - return security.getHandler(oArgs); - app.endPriv(); -}); -aebAppGetPath = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return app.getPath(oArgs); - app.endPriv(); - return retn; -}); -aebSignatureSetSeedValue = app.trustPropagatorFunction( function ( oArgs, field ) -{ - app.beginPriv(); - return field.signatureSetSeedValue( oArgs ) - app.endPriv(); -}); -aebCertifyInvisibleSign = app.trustPropagatorFunction( function ( oArgs, field ) -{ - app.beginPriv(); - return field.certifyInvisibleSign( oArgs ) - app.endPriv(); -}); -aebAddIcon=app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - doc.addIcon(oArgs); - app.endPriv(); -}); -aebCreateTemplate = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - var Msg=function(e){return (aebCreateTemplate.msg==undefined)?("Create Template Error: " + e.toString()):aebCreateTemplate.msg;} - app.beginPriv(); - try { return doc.createTemplate(oArgs); } catch(e) {console.println(Msg(e));} - app.endPriv(); - aebCreateTemplate.msg=undefined; - -}) -aebBrowseForDoc=app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - var retn = app.browseForDoc(oArgs); - app.endPriv(); -}); -aebLaunchURL=app.trustPropagatorFunction ( function ( oArgs ) -{ - app.beginPriv(); - var retn = app.launchURL(oArgs); - app.endPriv(); -}); diff --git a/macros/latex/contrib/docassembly/docassembly.dtx b/macros/latex/contrib/docassembly/docassembly.dtx index 53bf22dae8..429ee327e4 100644 --- a/macros/latex/contrib/docassembly/docassembly.dtx +++ b/macros/latex/contrib/docassembly/docassembly.dtx @@ -14,7 +14,7 @@ %</copyright> %<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01] %<package>\ProvidesPackage{docassembly} -%<package> [2021/06/11 v1.0 docassembly: Post PDF creation assembly (dps)] +%<package> [2021/06/18 v1.1 docassembly: Post PDF creation assembly (dps)] %<*driver> \documentclass{ltxdoc} \usepackage{amstext} @@ -88,14 +88,16 @@ % or even the much hated \app{dvips \texttt{->} Adobe Distiller}). % \end{minipage}} % \end{center} -% This package requires \pkg{insdljs}, which loads \pkg{hyperref}. It also requires +% This package requires \pkg{insdljs},\footnote{Part of the \pkg{acrotex} bundle} which loads \pkg{hyperref}. It also requires % the successful installation of the file \texttt{aeb\_pro.js}, which is distributed -% with this package, as well as with the \pkg{aeb\_pro} package. Version 1.6.1 of +% by the \pkg{acrotex-js} package. Version 1.6.1 of % \texttt{aeb\_pro.js} is required.\footnote{If you already have \pkg{aeb\_pro} installed on your % system, be sure you have Version 1.6.1 of \texttt{aeb\_pro.js}, if not, use the version -% of \texttt{aeb\_pro.js} that comes with \pkg{docassembly}.} Installation of \texttt{aeb\_pro.js} -% is covered in \texttt{docs/install\_jsfiles.pdf}. +% of \texttt{aeb\_pro.js} that comes with \pkg{acrotex-js}.} Installation of \texttt{aeb\_pro.js} +% is explained in \texttt{install\_jsfiles.pdf}, found in the \texttt{docs} folder of the \pkg{acrotex-js} package. % +% \changes{v1.1}{2021/06/18}{The \string\texttt{aeb\_pro.js} file is now distributed by the +% \string\pkg{acrotex-js} package} % \changes{v1.0}{2021/06/11}{First publication version of this package} % % \section{Documentation} @@ -138,6 +140,26 @@ % Require \pkg{insdljs} for this little exercise. % \begin{macrocode} \RequirePackage{insdljs} +% \end{macrocode} +% The critical JavaScript files are no longer distributed with this package, +% but are distributed by the \pkg{acrotex-js} package. This package must be +% installed, and the instructions in the \texttt{docs} folder followed to +% propery install the critical JavaScript file \texttt{aeb\_pro.js}. +% \begin{macrocode} +\IfFileExists{acrotex-js.sty}{\let\reqpkg\relax} +% \end{macrocode} +% If the style file \texttt{acrotex-js.sty} is detected, we assume the document +% author has correctly installed \texttt{aeb\_pro.js}, if not, we require +% this package, which may be automatically installed on some {\TeX} systems. +% \begin{macrocode} + {\PackageWarningNoLine{docassembly} + {The acrotex-js package is required.\MessageBreak + Before continuing, install this package,\MessageBreak + read the documentation, and place\MessageBreak + aeb_pro.js in the expected folder} + \def\reqpkg{\usepackage{acrotex-js}} + } +\reqpkg \execJSOn % \end{macrocode} % diff --git a/macros/latex/contrib/docassembly/docs/docassembly.pdf b/macros/latex/contrib/docassembly/docs/docassembly.pdf Binary files differindex a343c72fb4..f4aba50587 100644 --- a/macros/latex/contrib/docassembly/docs/docassembly.pdf +++ b/macros/latex/contrib/docassembly/docs/docassembly.pdf diff --git a/macros/latex/contrib/docassembly/docs/install_jsfiles.pdf b/macros/latex/contrib/docassembly/docs/install_jsfiles.pdf Binary files differdeleted file mode 100644 index 53d92d55d4..0000000000 --- a/macros/latex/contrib/docassembly/docs/install_jsfiles.pdf +++ /dev/null diff --git a/macros/latex/contrib/docassembly/docs/install_jsfiles.tex b/macros/latex/contrib/docassembly/docs/install_jsfiles.tex deleted file mode 100644 index 6c46402905..0000000000 --- a/macros/latex/contrib/docassembly/docs/install_jsfiles.tex +++ /dev/null @@ -1,325 +0,0 @@ -\documentclass{article} -\usepackage[fleqn]{amsmath} -% -% the driver line is not necessary if you -% have aebpro.cfg configured to your driver. -% -\usepackage[web]{aeb_pro} -\usepackage{eforms} -\usepackage[altbullet]{lucidbry} -\usepackage{pifont} - -\usepackage{fancyvrb} - -\makeatletter -\renewcommand{\paragraph} - {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt} - {\normalfont\normalsize\bfseries}} -\renewcommand{\subparagraph} - {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}% - {\normalfont\normalsize\bfseries}} -\makeatother - -\mathindent\parindent - -\def\AEBP{\app{AeB Pro}} -\def\AEB{\app{AeB}} -\def\app#1{\textsf{#1}} -\def\amtIndent{\parindent} -\def\meta#1{$\langle\textit{\texttt{#1}}\rangle$} -\def\SC#1{{\small#1}} -\def\PDF{\SC{PDF}} -\let\opt\texttt -\let\pkg\textsf - -\def\copyGetPath{\qquad\pushButton[\TU{Copy app.getPath to console} -\CA{getPath}\A{\JS{console.show();\r -console.println('\\napp.getPath("user");'); -}}]{cpyGtPth}{}{11bp}} - -\def\copyGetPathJS{\qquad\pushButton[\TU{Copy app.getPath to console} -\CA{getPath}\A{\JS{console.show();\r -console.println('\\napp.getPath("user", "javascript");'); -}}]{cpyGtPthJS}{}{11bp}} - -%\reversemarginpar -\def\jsSupInstr{How to install JavaScript support files} -\title{\jsSupInstr} -\author{D. P. Story} -\version{1.0} - -\chngDocObjectTo{\newDO}{doc} -\begin{docassembly} -var titleOfManual="How to install JavaScript files"; -var manualfilename="Manual_BG_Print_jsfiles.pdf"; -var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown -var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate; -var doc; -var buildIt=false; -if ( buildIt ) { - console.println("Creating new " + manualfilename + " file."); - doc = \appopenDoc({cPath: _pathToBlank, bHidden: true}); - var _path=this.path; - var pos=_path.lastIndexOf("/"); - _path=_path.substring(0,pos)+"/"+manualfilename; - \docSaveAs\newDO ({ cPath: _path }); - doc.closeDoc(); - doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true}); - f=doc.getField("ManualTitle"); - f.value=titleOfManual; - doc.flattenPages(); - \docSaveAs\newDO({ cPath: manualfilename }); - doc.closeDoc(); -} else { - console.println("Using the current "+manualfilename+" file."); -} -\retnAbsPathAs(_path); -_path += "/"+manualfilename; -var _path=this.path; -var pos=_path.lastIndexOf("/"); -_path=_path.substring(0,pos)+"/"+manualfilename; -\addWatermarkFromFile({ - bOnTop:false, - bOnPrint:false, - cDIPath:_path -}); -\executeSave(); -\end{docassembly} - -\begin{document} - -\maketitle - -\begin{center} - \fcolorbox{blue}{white}{\begin{minipage}{.75\linewidth} - \textbf{\textcolor{red}{Note:}} These are the installation instructions - for Folder JavaScript files \texttt{aeb.js} and \texttt{aeb\_pro.js}. The \pkg{docassembly} package - uses \texttt{aeb\_pro.js}, so follow these instructions.\medskip - \end{minipage}} -\end{center} - -\section{Introduction} - - -\noindent -Because some of the \app{Acrobat} JavaScript methods have security -restrictions, they can be only executed in the console window, or as part -of a batch sequence, or from the JavaScript folder reserved by -\app{Acrobat} for that use. The developer (of {\LaTeX} packages or {\PDF} -form documents) may want to use these restricted JavaScript methods as -part of document assembly. To use the restricted methods, they must be -called from the user JavaScript folder. The scripts are contained in a -\SC{JS} file that \app{Acrobat} reads when it first starts up. - -In this article, we provide detailed steps for locating the user -JavaScript folder. For {\AEB} and {\AEBP}, the files \texttt{aeb.js} and -\texttt{aeb\_pro.js} are placed in the folder. Other JavaScript files may -be placed in the folder as well, for example, the \texttt{config.js} file -is one that is commonly used for general purposes. - -Before we get started, if you are using a version of \app{Acrobat} prior -to version~8.1, you need not read any further. The security restrictions -described below were not in effect for those versions. - -\section{Installing the JavaScript support files} - -The functionality of {\AEB} and {\AEBP} depends, to some extent, on the -proper installation of their JavaScript support files. -\begin{itemize} - \item \AEB: For authors using the $\app{dvips}+\app{Acrobat Distiller}$ - workflow, \texttt{aeb.js} is required; this file is not used by - \app{pdflatex} or \app{xelatex} users. - - \item \AEBP: For authors using the $\app{dvips}+\app{Acrobat - Distiller}$ workflow, \texttt{aeb\_pro.js} is required; for authors - that prefer \app{pdflatex}, \app{lualatex}, or \app{xelatex} as the - {\PDF} creator \emph{and who own} the \app{Acrobat} application, - the \texttt{aeb\_pro.js} is required with the \opt{useacrobat} - option of \AEBP. When using the \opt{nopro} option of \AEBP, the - JavaScript file \texttt{aeb\_pro.js} is not used. - -\end{itemize} -The placement of the JavaScript files has changed over the years and is a -function of the version number \meta{ver}. Start \app{Acrobat} and open the -console debugger window by pressing \texttt{Ctrl+J} (for \app{Windows OS}) -or \texttt{Cmd+J} (for \app{Mac OS}). Now execute the code -\texttt{app.getPath("user")} in the console window. To do this, press the -\textsf{getPath} button provided below, which copies the necessary code to -the console window. -\begin{equation} -\begin{minipage}{.8\linewidth} -\begin{Verbatim}[commandchars={!~@}] -app.getPath("user");!copyGetPath -\end{Verbatim} -\end{minipage}\label{display:getPath} -\end{equation} -Now, with the cursor on the line containing the script, press the -\texttt{Ctrl+Enter} (for \app{Windows OS}) or \texttt{Cmd+Enter} (for -\app{Mac~OS}) key. This will execute the JavaScript and return the `root' -path to the user's application data for \app{Acrobat}. - -The rest of the instructions depend on your operating system, -\app{Windows} or \app{Mac}. - -\subsection{For users of \app{Windows OS}} - -There are several cases, jump to the numbered paragraph that describes your -version (\meta{ver}) of \app{Acrobat}. - -%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/11.0 -%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts - -\def\Stepi{\ding{182}\enspace} -\def\Stepii{\ding{183}\enspace} -\def\Stepiii{\ding{184}\enspace} - -\paragraph*{{\Stepi}For $\boldmath\text{\meta{ver}}$, $\boldmath 8.1 \le -\text{\meta{ver}} < 10.1.1$.} For the \app{Windows OS}, executing the script -in display~\eqref{display:getPath} returns a string of the -form:\footnote{This string is for \app{Windows OS} beyond \app{WinXP}.} -\begin{equation} -\begin{minipage}{.8\linewidth} -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/!meta(ver) -\end{Verbatim} -\end{minipage}\label{display:path} -\end{equation} -Navigate to this folder location. The correct location for the \SC{JS} -files is in the \texttt{JavaScripts} subfolder. If the folder does not -exist, create it. The final path for the JavaScript support files is then -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/ - Acrobat/!meta(ver)/JavaScripts -\end{Verbatim} -Finally, copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable) -into this folder. Close \app{Acrobat}, the next time \app{Acrobat} -is started, it will read in the \SC{JS} files. - -\paragraph*{{\Stepii}For $\boldmath\text{\meta{ver}}$, $\boldmath10.1.1 \le -\text{\meta{ver}} < 12$.} For these versions of \app{Acrobat} security has -have tightened up even more; the \texttt{JavaScripts} folder is now a -subfolder of a special \texttt{Privileged} folder. Execute -\texttt{app.getPath("user")} in the console window, as in -display~\eqref{display:getPath}. The method brings back a string similar to -the one in display~\eqref{display:path}. The correct path is obtained by -simply inserting \texttt{Privileged} into the path in -display~\eqref{display:path}, between \texttt{Acrobat} and \meta{ver}, as -displayed below. -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/ - Acrobat/!textbf(Privileged)/!meta(ver)/JavaScripts -\end{Verbatim} -But this is a mere description of the correct location, the path must -exist! The path must be created, if it does not already exist. - -Navigate to the folder, one folder above the path shown in -display~\eqref{display:path}, that is, navigate to, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/ -\end{Verbatim} -If a \texttt{Privileged} folder exists, enter into it; otherwise, create -it, then enter it. -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/Privileged -\end{Verbatim} -Now create a folder named \meta{ver}, unless it already exists, and enter -it. The version is always the major release \texttt{8.0}, \texttt{9.0}, -\texttt{10.0}, or \texttt{11.0}. -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/ - Acrobat/Privileged/!meta(ver) -\end{Verbatim} -Finally, create the \texttt{JavaScript} folder, unless it already exists, -to obtain the final path to the user folder JavaScripts: -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/ - Acrobat/Privileged/!meta(ver)/JavaScripts -\end{Verbatim} -Copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable) into this -folder. Close \textsf{Acrobat}, the next time \textsf{Acrobat} is started, -it will read in the \SC{JS} files. - -\paragraph*{{\Stepiii}For $\boldmath\text{\meta{ver}}$, $\boldmath -\text{\meta{ver}} > 12 $.} Beginning with the next major version following -version~11, Adobe changed its versioning scheme. There are now two tracks, -\emph{subscription} and \emph{classic} (also called \emph{perpetual}). For -subscription, the version, as I understand it, will always be \texttt{DC} -(Document Cloud), and for the classic, for which you've purchased a -\emph{perpetual license}, the \meta{ver} is a calendar year. The first -classic version is \texttt{2015}, the next one is most likely \texttt{2017}, -since major releases occur about every two years. - -Execute the code of display~\eqref{display:getPath} by pressing the button -provided to obtain a path of the form, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/DC -\end{Verbatim} -for the subscription license or, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/2015 -\end{Verbatim} -for the classic (or perpetual) license. Of course, this last path is for -the first classic version. - -Now, to obtain the path to the \texttt{JavaScripts} folder, follow the -instructions for numbered paragraph \ding{183}, but with \meta{ver} equal -to either \texttt{DC} or \texttt{2015} (a calendar year). - -%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts - -\subsection{For users of \app{Mac OS}} - -\app{Mac OS} does not have the security restrictions that \app{Windows OS} -does, as described in paragraphs \ding{183} and \ding{184}. - -Follow the instructions of paragraph \ding{182}, by first pressing the button -provided in display~\eqref{display:getPath}, then, in the console window, -execute this script as described in the paragraph following -display~\eqref{display:getPath}. After working through \ding{182}, one -obtains any of the following paths depending on the version (\meta{ver}) you -are using:\medskip - -\noindent -For $\text{\meta{ver}} = \texttt{8.0}, \texttt{9.0}, \texttt{10.0}, -\texttt{11.0}$: -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/Users/!meta(user)/Library/Application\ Support/Adobe/ - Acrobat/!meta(ver)/JavaScripts -\end{Verbatim} -\medskip - -\noindent -For $\text{\meta{ver}} > 12$, the path is, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/Users/!meta(user)/Library/Application\ Support/Adobe/ - Acrobat/DC/JavaScripts -\end{Verbatim} -for a subscription license, and, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/Users/!meta(user)/Library/Application\ Support/Adobe/ - Acrobat/2015/JavaScripts -\end{Verbatim} -or more generally, -\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] -/Users/!meta(user)/Library/Application\ Support/Adobe/ - Acrobat/!meta(year)/JavaScripts -\end{Verbatim} -for the perpetual license. - -In all cases, if the \texttt{JavaScripts} folder does not exist, it must -be created. Copy any \SC{JS} support files into the \texttt{JavaScripts} -folder. The script files are read the next time \app{Acrobat} is started. - -\section{Testing the placement of the JavaScript support files} - -Assuming you have successfully followed the instructions and created the -\texttt{JavaScripts} folder, test the validity of what you have done by -closing \app{Acrobat} then opening it again. Open the console window -(\texttt{Ctrl+J} or \texttt{Cmd+J}, for \app{Mac OS}) and execute this -command in the console window: -\begin{Verbatim}[xleftmargin=\amtIndent,commandchars={!~@}] -app.getPath("user","javascript");!quad!copyGetPathJS -\end{Verbatim} -If you have followed the instructions, the return string should read the -complete path to the \texttt{JavaScripts} folder. -\end{document} |