From c12864fbb9fae021f85000aeb9863a1b301051c4 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 30 Nov 2018 10:44:42 +0900 Subject: graphixsp (30Nov) --- .../latex/graphicxsp/examples/grxsp_forms_aeb.tex | 199 +++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 texmf-dist/doc/latex/graphicxsp/examples/grxsp_forms_aeb.tex (limited to 'texmf-dist/doc/latex/graphicxsp/examples/grxsp_forms_aeb.tex') diff --git a/texmf-dist/doc/latex/graphicxsp/examples/grxsp_forms_aeb.tex b/texmf-dist/doc/latex/graphicxsp/examples/grxsp_forms_aeb.tex new file mode 100644 index 00000000..675c6b5b --- /dev/null +++ b/texmf-dist/doc/latex/graphicxsp/examples/grxsp_forms_aeb.tex @@ -0,0 +1,199 @@ +\documentclass{article} +\usepackage[designiv,usetemplates]{web} +\usepackage{eforms} +\usepackage{graphicxsp} +\usepackage{fancyvrb} + +%\previewMiKTeX + +%\textBgColor{cornsilk} + +\title{\textsf{GraphicxSP}\texorpdfstring{\\}{:} Forms} +\author{D. P. Story} +\university{Acro\negthinspace\TeX.Net} +\email{dpstory@acrotex.net} +\subject{Form XObjects and BP, EP and SP operators, transparency} +\keywords{Distiller, Form XObjects, BP, EP, and SP operators,transparency} + +\newcommand{\cs}[1]{\texttt{\char`\\#1}} +\let\pkg\textsf + +\embedEPS[hiresbb,transparencyGroup]{AdobeDon}{graphics/AdobeDon} +\embedEPS{3Dcheck}{graphics/3Dcheck} +\embedEPS{3Dx}{graphics/3Dx} + +% Normal,Multiply, Screen, Screen, Darken, Lighten, ColorDodge, ColorBurn, HardLight, +% SoftLight, Difference, Exclusion + +\begin{createImage}{\bboxOf{3Dcheck}}{on3Dcheck} + [ {3Dcheck} /SP pdfmark +\end{createImage} +\begin{createImage}{\bboxOf{3Dx}}{off3Dx} + [ {3Dx} /SP pdfmark +\end{createImage} + +\begin{createImage}{\bboxOf{AdobeDon}}{nAdobeDon} + [ {AdobeDon} /SP pdfmark +\end{createImage} + +\begin{createImage}{\bboxOf{AdobeDon}}{dAdobeDon} + [ /ca .3 /SetTransparency pdfmark + [ {AdobeDon} /SP pdfmark +\end{createImage} + +\begin{createImage}{\bboxOf{AdobeDon}}{rAdobeDon} + [ /ca .5 /SetTransparency pdfmark + [ {AdobeDon} /SP pdfmark +\end{createImage} + +\begin{createImage}{0 0 100 100}{xO} +.7529 setgray 0 0 100 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 98 98 lineto +96 96 lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 98 98 moveto 98 2 lineto +2 2 lineto 4 4 lineto 96 4 lineto 96 96 lineto fill +0 setgray 22.5 22.5 moveto 1 0 0 setrgbcolor /Helvetica 72 selectfont (O) show +\end{createImage} + +\begin{createImage}{0 0 100 100}{xX} +.7529 setgray 0 0 100 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 98 98 lineto +96 96 lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 98 98 moveto 98 2 lineto +2 2 lineto 4 4 lineto 96 4 lineto 96 96 lineto fill +0 setgray 27 22.5 moveto 0 0 1 setrgbcolor /Helvetica 72 selectfont (X) show +\end{createImage} + +\parindent0pt +\setlength{\fboxsep}{0pt} + +\begin{insDLJS}[_setApp]{setapp}{Turn off highlighting} +var _setApp = true; +try { app.runtimeHighlight=false } catch(e) {}; +\end{insDLJS} + +\begin{document} + +\maketitle + +In the preamble, we make the following definitions: We embed for EPS +files, one of which are set a transparency group: +{\small\begin{Verbatim}[fontsize=\small] +\embedEPS[hiresbb,transparencyGroup]{AdobeDon}{graphics/AdobeDon} +\embedEPS{3Dcheck}{graphics/3Dcheck} +\embedEPS{3Dx}{graphics/3Dx} +\end{Verbatim} +} +We also use the \texttt{createImage} environment to create more images, some new, others made +from the embedded files.\medskip + +Create variations on \texttt{AdobeDon} by giving the image various degrees of opacity: +\begin{Verbatim}[fontsize=\scriptsize] +\begin{createImage}{\bboxOf{AdobeDon}}{nAdobeDon} % normal appearance + [ {AdobeDon} /SP pdfmark +\end{createImage} + +\begin{createImage}{\bboxOf{AdobeDon}}{dAdobeDon} % down appearance + [ /ca .3 /SetTransparency pdfmark + [ {AdobeDon} /SP pdfmark +\end{createImage} + +\begin{createImage}{\bboxOf{AdobeDon}}{rAdobeDon} % rollover appearance + [ /ca .5 /SetTransparency pdfmark + [ {AdobeDon} /SP pdfmark +\end{createImage} +\end{Verbatim} + + +\newpage + +Now create two new graphic images using raw PostScript. In all cases we use +the \texttt{createImage} environment, first optional argument is the bounding box, +the second is the symbolic name for the graphic. The symbolic name can be used +in the \cs{includegraphics} command or the \cs{insertEPS} command. +\begin{Verbatim}[fontsize=\scriptsize] +\begin{createImage}{0 0 100 100}{xO} +.7529 setgray 0 0 100 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 98 98 lineto +96 96 lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 98 98 moveto 98 2 lineto +2 2 lineto 4 4 lineto 96 4 lineto 96 96 lineto fill +0 setgray 22.5 22.5 moveto 1 0 0 setrgbcolor /Helvetica 72 selectfont (O) show +\end{createImage} + +\begin{createImage}{0 0 100 100}{xX} +.7529 setgray 0 0 100 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 98 98 lineto +96 96 lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 98 98 moveto 98 2 lineto +2 2 lineto 4 4 lineto 96 4 lineto 96 96 lineto fill +0 setgray 27 22.5 moveto 0 0 1 setrgbcolor /Helvetica 72 selectfont (X) show +\end{createImage} +\end{Verbatim} +Subsequent pages demonstrate how to use these images in the context of form fields.\medskip + +Here are more traditional uses for a checkbox, but this time using +custom checks and crosses.\bigskip + +\noindent\hspace*{20pt}\resizebox{11bp}{!}{\checkBox[% + \A{\JS{% + var f = this.getField("reportCk");\r + f.value = !!event.target.isBoxChecked(0);\t + this.dirty=false; + }} + \V{Off}\DV{Off}\AS{Off}\H{N}\autoCenter{n} + \AP{/N << /Yes {xX} /Off {xO} >> } +]{ckBoxXO}{\widthOf{xX}bp}{\heightOf{xX}bp}{Yes}} +\textField[\Q1\Ff\FfReadOnly\autoCenter{n}]{reportCk}{.5in}{11bp}\cgBdry[6pt] +\resizebox{11bp}{!}{\checkBox[% + \A{\JS{% + var f = this.getField("reportCk3D");\r + f.value = !!event.target.isBoxChecked(0);\r + this.dirty=false; + }} + \V{Off}\DV{Off}\AS{Off}\H{N}\autoCenter{n} + \AP{/N << /Yes {on3Dcheck} /Off {off3Dx} >> } +]{ckBox3D}{\widthOf{3Dcheck}bp}{\heightOf{3Dcheck}bp}{Yes}} +\textField[\Q1\Ff\FfReadOnly\autoCenter{n}]{reportCk3D}{.5in}{11bp}\medskip + +The verbatim listing of the second check box is, for example, +\begin{Verbatim}[fontsize=\small,commandchars=!()] +\resizebox{11bp}{!}{\checkBox[\A{\JS{(!normalfont!itshape(JS code not shown))}} + \V{Off}\DV{Off}\AS{Off}\H{N}\autoCenter{n} + \AP{/N << /Yes {on3Dcheck} /Off {off3Dx} >> } +]{ckBox3D}{\widthOf{3Dcheck}bp}{\heightOf{3Dcheck}bp}{Yes}} +\textField[\Q1\Ff\FfReadOnly\autoCenter{n}]{reportCk3D}{.5in}{11bp} +\end{Verbatim} +We use \cs{resizebox} from the \textsf{graphicx} package to adjust +the sizes of the appearances.\medskip + +For \pkg{eforms} dated 2018/11/27 or later, the above check box code can be simplified +as follows: +\begin{Verbatim}[fontsize=\small,commandchars=!()] +\resizebox{11bp}{!}{\checkBox[\A{\JS{(!normalfont!itshape(JS code not shown))}} + \V{Off}\DV{Off}\AS{Off}\H{N}\autoCenter{n} + \AP{\N{\On{Yes}{\on3Dcheck}\Off{\off3Dx}}} +]{ckBox3D}{\widthOf{3Dcheck}bp}{\heightOf{3Dcheck}bp}{Yes}} +\textField[\Q1\Ff\FfReadOnly\autoCenter{n}]{reportCk3D}{.5in}{11bp} +\end{Verbatim} +\newpage + + +One last example, this one uses transparency. We now we create a push +button with the face of AdobeDon as the normal appearance (somewhat +paradoxically), AdobeDon at 50\% opacity for the rollover +appearance, and AdobeDon at 30\% for the down appearance. Will it +work, we'll see:\medskip + +Push button: \raisebox{-3pt}{\resizebox{.5in}{!}{\pushButton[% + \autoCenter{y}\BC{}\S{S} + \A{\JS{app.alert("AcroTeX rocks the world!"); this.dirty=false;}} + \I{nAdobeDon}\RI{dAdobeDon}\IX{rAdobeDon}\TP{1}\FB{true} +]{pbAdobeDon}{\widthOf{AdobeDon}bp}{\heightOf{AdobeDon}bp}}} + + +\medskip The verbatim listing is +\begin{small} +\begin{Verbatim}[fontsize=\small] +Push button: \raisebox{-3pt}{\resizebox{.5in}{!}{\pushButton[% + \autoCenter{y}\BC{}\S{S} + \A{\JS{app.alert("AcroTeX rocks the world!"); + this.dirty=false;}} + \I{nAdobeDon}\RI{dAdobeDon}\IX{rAdobeDon}\TP{1}\FB{true} +]{pbAdobeDon}{\widthOf{AdobeDon}bp}{\heightOf{AdobeDon}bp}}} +\end{Verbatim} +\end{small} + +\end{document} -- cgit v1.2.3