]> git.lyx.org Git - lyx.git/blob - lib/examples/Modules/PDF_Form.lyx
4fe550c5e8c6835c579056fff294f8f1d984d0bb
[lyx.git] / lib / examples / Modules / PDF_Form.lyx
1 #LyX 2.4 created this file. For more info see https://www.lyx.org/
2 \lyxformat 612
3 \begin_document
4 \begin_header
5 \save_transient_properties true
6 \origin /systemlyxdir/examples/Modules/
7 \textclass scrartcl
8 \begin_preamble
9 % used to check for needed LaTeX packages
10 \usepackage{ifthen}
11
12 % check for package insdljs
13 % used for JavScript code
14 \newboolean{insdljs}
15 \IfFileExists{insdljs.sty}
16  {\usepackage[pdftex]{insdljs}
17   \setboolean{insdljs}{true}
18   \pdfcatalog{/AA \the\pdflastobj\space 0 R}}
19  {\setboolean{insdljs}{false}}
20
21 \ifinsdljs % only execute if package insdljs is installed
22
23  \begin{insDLJS}[exaaae]{exaaae}{JavaScript}
24
25   function validateTime(){
26    this.delay = true;
27    if((event.value == "u") || (event.value == "unlimited")) {
28     this.getField("from").display = display.hidden;
29     this.getField("until").display = display.hidden;
30    } else {
31     this.getField("from").display = display.visible;
32     this.getField("until").display = display.visible;
33     this.getField("from").setFocus();
34    }
35    this.delay = false;
36   }
37  
38  function checkNumber() {
39   event.rc = true;
40   if (!Number(event.value))
41   {
42    app.alert("Value must be a number!");
43    event.value = "";
44   }  else {
45    event.target.textColor = color.green;
46  }
47
48 }
49
50  \end{insDLJS}
51
52 \fi % end \ifinsdljs
53
54 % if pdflatex is used
55 \usepackage{ifpdf}
56 \ifpdf
57
58 % set fonts for nicer pdf view
59 \IfFileExists{lmodern.sty}
60  {\usepackage{lmodern}}{}
61
62 \fi % end if pdflatex is used
63 % Added by lyx2lyx
64 \setlength{\parskip}{\medskipamount}
65 \setlength{\parindent}{0pt}
66 \end_preamble
67 \options BCOR8mm,pagesize
68 \use_default_options false
69 \begin_modules
70 pdfform
71 \end_modules
72 \maintain_unincluded_children no
73 \language english
74 \language_package default
75 \inputencoding utf8
76 \fontencoding auto
77 \font_roman "default" "default"
78 \font_sans "default" "default"
79 \font_typewriter "default" "default"
80 \font_math "auto" "auto"
81 \font_default_family default
82 \use_non_tex_fonts false
83 \font_sc false
84 \font_roman_osf false
85 \font_sans_osf false
86 \font_typewriter_osf false
87 \font_sf_scale 100 100
88 \font_tt_scale 100 100
89 \use_microtype false
90 \use_dash_ligatures false
91 \graphics default
92 \default_output_format pdf2
93 \output_sync 0
94 \bibtex_command bibtex
95 \index_command default
96 \paperfontsize 12
97 \spacing single
98 \use_hyperref true
99 \pdf_title "Description of the module pdfcomment"
100 \pdf_author "Uwe Stöhr"
101 \pdf_subject "PDF form"
102 \pdf_keywords "LyX, PDF forms, hyperref"
103 \pdf_bookmarks true
104 \pdf_bookmarksnumbered true
105 \pdf_bookmarksopen true
106 \pdf_bookmarksopenlevel 2
107 \pdf_breaklinks false
108 \pdf_pdfborder false
109 \pdf_colorlinks false
110 \pdf_backref false
111 \pdf_pdfusetitle false
112 \pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false, urlbordercolor={1 0 0}"
113 \papersize a4
114 \use_geometry false
115 \use_package amsmath 1
116 \use_package amssymb 1
117 \use_package cancel 1
118 \use_package esint 1
119 \use_package mathdots 1
120 \use_package mathtools 1
121 \use_package mhchem 1
122 \use_package stackrel 1
123 \use_package stmaryrd 1
124 \use_package undertilde 1
125 \cite_engine basic
126 \cite_engine_type default
127 \biblio_style plain
128 \use_bibtopic false
129 \use_indices false
130 \paperorientation portrait
131 \suppress_date true
132 \justification true
133 \use_refstyle 0
134 \use_minted 0
135 \use_lineno 0
136 \notefontcolor #0000ff
137 \index Index
138 \shortcut idx
139 \color #008000
140 \end_index
141 \secnumdepth 3
142 \tocdepth 2
143 \paragraph_separation indent
144 \paragraph_indentation default
145 \is_math_indent 0
146 \math_numbering_side default
147 \quotes_style english
148 \dynamic_quotes 0
149 \papercolumns 1
150 \papersides 1
151 \paperpagestyle default
152 \tablestyle default
153 \tracking_changes false
154 \output_changes false
155 \change_bars false
156 \postpone_fragile_content false
157 \html_math_output 0
158 \html_css_as_file 0
159 \html_be_strict false
160 \docbook_table_output 0
161 \docbook_mathml_prefix 1
162 \end_header
163
164 \begin_body
165
166 \begin_layout Begin PDF Form
167 \begin_inset Argument 1
168 status open
169
170 \begin_layout Plain Layout
171
172 action=mailto:forms@lyx.test?subject=The submitted PDF form,
173  method=post
174 \end_layout
175
176 \end_inset
177
178
179 \end_layout
180
181 \begin_layout Title
182 Description of the module PDF Form
183 \end_layout
184
185 \begin_layout Author
186 Uwe Stöhr
187 \end_layout
188
189 \begin_layout Standard
190 \begin_inset Note Note
191 status collapsed
192
193 \begin_layout Plain Layout
194 To export all parts of this document to PDF the \SpecialChar LaTeX
195 -package 
196 \series bold
197 insdljs
198 \series default
199  must be installed.
200  If it is not installed you can export the document anyway but the example in the section about dynamic form elements will not appear in the output.
201
202 \series bold
203  insdljs.sty 
204 \series default
205 is part of the 
206 \series bold
207 acrotex
208 \series default
209  bundle available on CTAN.
210  As the name suggests,
211  the style files of the bundle produce pdf files which will work correctly 
212 \emph on
213 only
214 \emph default
215  with Acrobat DC.
216 \end_layout
217
218 \end_inset
219
220
221 \end_layout
222
223 \begin_layout Standard
224 By loading the module PDF
225 \begin_inset space ~
226 \end_inset
227
228 Form the whole document or a part of it can be made a PDF form.
229  You can add all possible form elements like text fields buttons etc.
230  This document describes how this is done.
231 \end_layout
232
233 \begin_layout Section
234 Preparation
235 \begin_inset CommandInset label
236 LatexCommand label
237 name "sec:Preparation"
238
239 \end_inset
240
241
242 \end_layout
243
244 \begin_layout Standard
245 At first load the module PDF
246 \begin_inset space ~
247 \end_inset
248
249 Form in the document settings of your file.
250  To make the whole document a form,
251  insert the environment
252 \family sans
253  Begin
254 \begin_inset space ~
255 \end_inset
256
257 PDF
258 \begin_inset space ~
259 \end_inset
260
261 Form
262 \family default
263  from \SpecialChar LyX
264 's dropdown menu at the beginning of the document.
265  If only a part of the document should be a form,
266  add 
267 \family sans
268 Begin
269 \begin_inset space ~
270 \end_inset
271
272 PDF
273 \begin_inset space ~
274 \end_inset
275
276 Form
277 \family default
278  at the position where the form should start.
279 \end_layout
280
281 \begin_layout Standard
282 \begin_inset Note Greyedout
283 status open
284
285 \begin_layout Plain Layout
286
287 \series bold
288 Note:
289
290 \series default
291  It is only possible to have one form in a PDF file!
292 \end_layout
293
294 \end_inset
295
296
297 \end_layout
298
299 \begin_layout Standard
300 If the form data should be submitted to a server or the like,
301  then you must specify the URL as parameter of the 
302 \family sans
303 Begin
304 \begin_inset space ~
305 \end_inset
306
307 PDF
308 \begin_inset space ~
309 \end_inset
310
311 Form
312 \family default
313  environment.
314  This is done by using the menu 
315 \family sans
316 Insert\SpecialChar menuseparator
317 PDF
318 \begin_inset space ~
319 \end_inset
320
321 Form
322 \begin_inset space ~
323 \end_inset
324
325 Parameters
326 \family default
327 .
328  For example in this document the following was inserted to the parameter inset:
329 \end_layout
330
331 \begin_layout Standard
332
333 \series bold
334 action=mailto:forms@lyx.test?subject=The submitted PDF form,
335 \begin_inset Newline newline
336 \end_inset
337
338 method=post
339 \end_layout
340
341 \begin_layout Standard
342 This sends the form data as email to 
343 \emph on
344 forms@lyx.test
345 \emph default
346  when the user presses the submit button.
347  The email subject will be 
348 \begin_inset Quotes eld
349 \end_inset
350
351 The submitted PDF form
352 \begin_inset Quotes erd
353 \end_inset
354
355  and the submit method is 
356 \series bold
357 post
358 \series default
359 .
360  (The other possible method would be 
361 \series bold
362 get
363 \series default
364 .) For more about submitting see sec.
365 \begin_inset space \thinspace{}
366 \end_inset
367
368
369 \begin_inset CommandInset ref
370 LatexCommand ref
371 reference "subsec:Submit-button"
372 nolink "false"
373
374 \end_inset
375
376 .
377 \end_layout
378
379 \begin_layout Standard
380 \begin_inset Newpage newpage
381 \end_inset
382
383
384 \end_layout
385
386 \begin_layout Section
387 Form elements
388 \end_layout
389
390 \begin_layout Standard
391 There are 6
392 \begin_inset space ~
393 \end_inset
394
395 possible elements in a PDF form:
396 \end_layout
397
398 \begin_layout Subsection
399 Text field
400 \end_layout
401
402 \begin_layout Standard
403 A text field is added by inserting the custom inset 
404 \family sans
405 TextField
406 \family default
407  using the menu 
408 \family sans
409 Insert\SpecialChar menuseparator
410 Custom
411 \begin_inset space ~
412 \end_inset
413
414 Insets
415 \family default
416 .
417  Write inside the inset the label for the text field that will be printed in the PDF output before the field.
418  Here is an example:
419 \begin_inset Newline newline
420 \end_inset
421
422
423 \begin_inset Flex TextField
424 status open
425
426 \begin_layout Plain Layout
427 \begin_inset Argument 1
428 status open
429
430 \begin_layout Plain Layout
431 name=customer
432 \end_layout
433
434 \end_inset
435
436 Enter your name here:
437 \end_layout
438
439 \end_inset
440
441
442 \end_layout
443
444 \begin_layout Standard
445 You must also specify a name for text fields.
446  To do this set the cursor into its 
447 \family sans
448 Params
449 \family default
450  inset and insert the parameter 
451 \series bold
452 name=customer
453 \series default
454  (where 
455 \series bold
456 customer
457 \series default
458  is the field name).
459 \end_layout
460
461 \begin_layout Standard
462 Using the same name for several text fields results in an automatic duplication of the inserted text.
463  This is for example useful if the user should input a date that should appear at different places in the form.
464 \begin_inset Newline newline
465 \end_inset
466
467 Here are 2
468 \begin_inset space ~
469 \end_inset
470
471 fields as example:
472  Fill one and see that the other one will be filled automatically when you click outside of the field:
473 \begin_inset Newline newline
474 \end_inset
475
476
477 \begin_inset Flex TextField
478 status open
479
480 \begin_layout Plain Layout
481 \begin_inset Argument 1
482 status open
483
484 \begin_layout Plain Layout
485 name=identic
486 \end_layout
487
488 \end_inset
489
490
491 \end_layout
492
493 \end_inset
494
495
496 \begin_inset Newline newline
497 \end_inset
498
499
500 \begin_inset Flex TextField
501 status open
502
503 \begin_layout Plain Layout
504 \begin_inset Argument 1
505 status open
506
507 \begin_layout Plain Layout
508 name=identic
509 \end_layout
510
511 \end_inset
512
513
514 \end_layout
515
516 \end_inset
517
518
519 \end_layout
520
521 \begin_layout Standard
522 \begin_inset Note Greyedout
523 status open
524
525 \begin_layout Plain Layout
526
527 \series bold
528 Note:
529
530 \series default
531  Special characters should be avoided in element names.
532 \end_layout
533
534 \end_inset
535
536
537 \end_layout
538
539 \begin_layout Standard
540 All form fields can be customized by adding parameters.
541 \end_layout
542
543 \begin_layout Standard
544 Here is a customized multiline text field with a width of 60
545 \begin_inset space \thinspace{}
546 \end_inset
547
548 % of the text width,
549  3
550 \begin_inset space \thinspace{}
551 \end_inset
552
553 cm height and a proposed content:
554 \begin_inset VSpace defskip
555 \end_inset
556
557
558 \begin_inset Newline newline
559 \end_inset
560
561
562 \begin_inset Flex TextField
563 status open
564
565 \begin_layout Plain Layout
566 \begin_inset Argument 1
567 status open
568
569 \begin_layout Plain Layout
570 name=customer2,
571  multiline,
572  width=0.6
573 \backslash
574 textwidth,
575  height=3cm,
576  value={proposed text}
577 \end_layout
578
579 \end_inset
580
581 Enter your name here:
582 \end_layout
583
584 \end_inset
585
586
587 \end_layout
588
589 \begin_layout Standard
590 \begin_inset Note Greyedout
591 status open
592
593 \begin_layout Plain Layout
594
595 \series bold
596 Note:
597
598 \series default
599  It is highly recommended to use a uniform layout of all fields in a form.
600  See sec.
601 \begin_inset space \thinspace{}
602 \end_inset
603
604
605 \begin_inset CommandInset ref
606 LatexCommand ref
607 reference "sec:Form-element-customization"
608 nolink "false"
609
610 \end_inset
611
612  how this is done.
613 \end_layout
614
615 \end_inset
616
617
618 \end_layout
619
620 \begin_layout Subsection
621 Check box
622 \end_layout
623
624 \begin_layout Standard
625 A check box is added by inserting the custom inset 
626 \family sans
627 CheckBox
628 \family default
629 .
630  Write inside the inset the label for the box.
631  Here is an example:
632 \begin_inset Newline newline
633 \end_inset
634
635
636 \begin_inset Flex CheckBox
637 status open
638
639 \begin_layout Plain Layout
640 \begin_inset Argument 1
641 status open
642
643 \begin_layout Plain Layout
644 name=age
645 \end_layout
646
647 \end_inset
648
649 Are you older than 18 years?
650 \end_layout
651
652 \end_inset
653
654
655 \end_layout
656
657 \begin_layout Standard
658 You must specify also for check boxes a name.
659  Insert e.
660 \begin_inset space \thinspace{}
661 \end_inset
662
663 g.
664 \begin_inset space \space{}
665 \end_inset
666
667 the parameter 
668 \series bold
669 name=age
670 \series default
671  (where 
672 \series bold
673 age
674 \series default
675  is the name) into the 
676 \family sans
677 Params
678 \family default
679  inset.
680 \end_layout
681
682 \begin_layout Subsection
683 Choice menu
684 \end_layout
685
686 \begin_layout Standard
687 A choice menu is added by inserting the custom inset 
688 \family sans
689 ChoiceMenu
690 \family default
691 .
692  A label for the inset is added by using the menu 
693 \family sans
694 Insert\SpecialChar menuseparator
695 Label
696 \family default
697 .
698  The different choices are inserted to the inset as comma-separated list.
699  There are 3
700 \begin_inset space ~
701 \end_inset
702
703 choice menu types:
704 \end_layout
705
706 \begin_layout Description
707 Radio Only one choice can be selected
708 \end_layout
709
710 \begin_layout Description
711 Combo The choices are listed in a combo box (dropdown list) but the user is allowed to input something that is not in the predefined list.
712 \end_layout
713
714 \begin_layout Description
715 Popdown All choices are listed below each other.
716  If the menu is not high enough a scroll bar is automatically added.
717 \end_layout
718
719 \begin_layout Standard
720 To determine the choice menu type one uses the parameter 
721 \series bold
722 radio
723 \series default
724 ,
725  
726 \series bold
727 combo
728 \series default
729  or 
730 \series bold
731 popdown
732 \series default
733 .
734 \end_layout
735
736 \begin_layout Standard
737 Here is an example for the radio type:
738 \begin_inset VSpace defskip
739 \end_inset
740
741
742 \begin_inset Newline newline
743 \end_inset
744
745
746 \begin_inset Flex ChoiceMenu
747 status open
748
749 \begin_layout Plain Layout
750 \begin_inset Argument 1
751 status open
752
753 \begin_layout Plain Layout
754 radio,
755  name=radio
756 \end_layout
757
758 \end_inset
759
760 male=m,
761  female=f
762 \begin_inset Argument 2
763 status open
764
765 \begin_layout Plain Layout
766 Sex:
767 \end_layout
768
769 \end_inset
770
771
772 \end_layout
773
774 \end_inset
775
776
777 \end_layout
778
779 \begin_layout Standard
780 Here is an example for the combo type:
781 \begin_inset VSpace defskip
782 \end_inset
783
784
785 \begin_inset Newline newline
786 \end_inset
787
788
789 \begin_inset Flex ChoiceMenu
790 status open
791
792 \begin_layout Plain Layout
793 \begin_inset Argument 1
794 status open
795
796 \begin_layout Plain Layout
797 combo,
798  name=combo
799 \end_layout
800
801 \end_inset
802
803 Albania=Al,
804  Armenia=Ar,
805  Azerbaidschan=Az
806 \begin_inset Argument 2
807 status open
808
809 \begin_layout Plain Layout
810 Country:
811 \end_layout
812
813 \end_inset
814
815
816 \end_layout
817
818 \end_inset
819
820
821 \end_layout
822
823 \begin_layout Standard
824 Here is an example for the popdown type:
825 \begin_inset VSpace defskip
826 \end_inset
827
828
829 \begin_inset Newline newline
830 \end_inset
831
832
833 \begin_inset Flex ChoiceMenu
834 status open
835
836 \begin_layout Plain Layout
837 \begin_inset Argument 1
838 status open
839
840 \begin_layout Plain Layout
841 popdown,
842  name=country
843 \end_layout
844
845 \end_inset
846
847 Albania=Al,
848  Armenia=Ar,
849  Azerbaidschan=Az
850 \begin_inset Argument 2
851 status open
852
853 \begin_layout Plain Layout
854 Country:
855 \end_layout
856
857 \end_inset
858
859
860 \end_layout
861
862 \end_inset
863
864
865 \end_layout
866
867 \begin_layout Standard
868 You must also specify a name for choice menus.
869  Insert for example the parameter 
870 \series bold
871 name=country
872 \series default
873  (where 
874 \series bold
875 country
876 \series default
877  is the name) into the 
878 \family sans
879 Params
880 \family default
881  inset.
882 \end_layout
883
884 \begin_layout Standard
885 It is recommended to add a short name for every choice to be able to access them and to know which one was chosen by the user.
886  This is done by adding 
887 \series bold
888 =name
889 \series default
890  behind each choice (where 
891 \series bold
892 name
893 \series default
894  is the choice name).
895  For example the radio type example contains this choice list:
896
897 \series bold
898  male=m,
899  female=f
900 \series default
901 .
902  If the user chose 
903 \begin_inset Quotes eld
904 \end_inset
905
906 male
907 \begin_inset Quotes erd
908 \end_inset
909
910  you know that he chose the choice 
911 \begin_inset Quotes eld
912 \end_inset
913
914 m
915 \begin_inset Quotes erd
916 \end_inset
917
918 .
919  With the name you can also preset/propose e.g.
920 \begin_inset space \space{}
921 \end_inset
922
923 the choice 
924 \begin_inset Quotes eld
925 \end_inset
926
927 male
928 \begin_inset Quotes erd
929 \end_inset
930
931  by adding the parameter 
932 \series bold
933 default=m
934 \series default
935 .
936  Here is an example:
937 \end_layout
938
939 \begin_layout Standard
940 \begin_inset Flex ChoiceMenu
941 status open
942
943 \begin_layout Plain Layout
944 \begin_inset Argument 1
945 status open
946
947 \begin_layout Plain Layout
948 radio,
949  name=sex,
950  default=m
951 \end_layout
952
953 \end_inset
954
955 male=m,
956  female=f
957 \begin_inset Argument 2
958 status open
959
960 \begin_layout Plain Layout
961 Sex:
962 \end_layout
963
964 \end_inset
965
966
967 \end_layout
968
969 \end_inset
970
971
972 \end_layout
973
974 \begin_layout Subsection
975 Push button
976 \end_layout
977
978 \begin_layout Standard
979 A push button is added by inserting the custom inset 
980 \family sans
981 PushButton
982 \family default
983 .
984  Write inside the inset the label for the button.
985  Here is an example:
986 \end_layout
987
988 \begin_layout Standard
989 \begin_inset Flex PushButton
990 status open
991
992 \begin_layout Plain Layout
993 \begin_inset Argument 1
994 status open
995
996 \begin_layout Plain Layout
997
998 \end_layout
999
1000 \end_inset
1001
1002 Don't click on this button or your fridge will be destroyed!!!
1003 \end_layout
1004
1005 \end_inset
1006
1007
1008 \end_layout
1009
1010 \begin_layout Standard
1011 The action that is triggered by pressing the button is specified by JavaScript code.
1012  To do this,
1013  add the parameter 
1014 \series bold
1015 onclick={}
1016 \series default
1017  and insert the JavaScript code between the braces.
1018  For info about JavaScript,
1019  see its documentation,
1020  
1021 \begin_inset CommandInset citation
1022 LatexCommand cite
1023 key "JavaScript"
1024 literal "true"
1025
1026 \end_inset
1027
1028 .
1029  In the following example this JavaScript code was used:
1030 \begin_inset Newline newline
1031 \end_inset
1032
1033
1034 \series bold
1035 app.alert(
1036 \begin_inset ERT
1037 status collapsed
1038
1039 \begin_layout Plain Layout
1040
1041 "
1042 \end_layout
1043
1044 \end_inset
1045
1046 What the hell?
1047  Now you destroyed your fridge.
1048  
1049 \begin_inset Quotes eld
1050 \end_inset
1051
1052 Congratulations.
1053 \begin_inset Quotes erd
1054 \end_inset
1055
1056
1057 \begin_inset ERT
1058 status collapsed
1059
1060 \begin_layout Plain Layout
1061
1062 "
1063 \end_layout
1064
1065 \end_inset
1066
1067 )
1068 \end_layout
1069
1070 \begin_layout Standard
1071 \begin_inset Flex PushButton
1072 status open
1073
1074 \begin_layout Plain Layout
1075 \begin_inset Argument 1
1076 status open
1077
1078 \begin_layout Plain Layout
1079 onclick={app.alert(
1080 \begin_inset ERT
1081 status collapsed
1082
1083 \begin_layout Plain Layout
1084
1085 "
1086 \end_layout
1087
1088 \end_inset
1089
1090 What the hell?
1091  Now you destroyed your fridge.
1092  
1093 \begin_inset Quotes eld
1094 \end_inset
1095
1096 Congratulations.
1097 \begin_inset Quotes erd
1098 \end_inset
1099
1100
1101 \begin_inset ERT
1102 status collapsed
1103
1104 \begin_layout Plain Layout
1105
1106 "
1107 \end_layout
1108
1109 \end_inset
1110
1111 )}
1112 \end_layout
1113
1114 \end_inset
1115
1116 Don't click on this button or your fridge will be destroyed!!!
1117 \end_layout
1118
1119 \end_inset
1120
1121
1122 \end_layout
1123
1124 \begin_layout Standard
1125 \begin_inset Note Greyedout
1126 status open
1127
1128 \begin_layout Plain Layout
1129
1130 \series bold
1131 Note:
1132
1133 \series default
1134  The outer quotes are part of the JavaScript code and must therefore be inserted as \SpecialChar TeX
1135  code!
1136 \end_layout
1137
1138 \end_inset
1139
1140
1141 \end_layout
1142
1143 \begin_layout Standard
1144 A common usage for push buttons is to open a weblink.
1145  Such a button is created by inserting a hyperlink as button text.
1146  Here is an example:
1147 \end_layout
1148
1149 \begin_layout Standard
1150 \begin_inset Flex PushButton
1151 status open
1152
1153 \begin_layout Plain Layout
1154 \begin_inset Argument 1
1155 status open
1156
1157 \begin_layout Plain Layout
1158
1159 \end_layout
1160
1161 \end_inset
1162
1163
1164 \begin_inset CommandInset href
1165 LatexCommand href
1166 name "Information how to fill out this form"
1167 target "https://wiki.lyx.org"
1168 literal "false"
1169
1170 \end_inset
1171
1172
1173 \end_layout
1174
1175 \end_inset
1176
1177
1178 \end_layout
1179
1180 \begin_layout Standard
1181 To get rid of the predefined frame for weblinks add this to the additional options in the document settings under 
1182 \family sans
1183 PDF
1184 \begin_inset space ~
1185 \end_inset
1186
1187 properties
1188 \family default
1189 :
1190 \end_layout
1191
1192 \begin_layout Standard
1193
1194 \series bold
1195 urlbordercolor={1 0 0}
1196 \end_layout
1197
1198 \begin_layout Standard
1199 if your push button border color is red (the default),
1200  otherwise use the same color definition as for your push button border color.
1201 \end_layout
1202
1203 \begin_layout Subsection
1204 Submit button
1205 \begin_inset CommandInset label
1206 LatexCommand label
1207 name "subsec:Submit-button"
1208
1209 \end_inset
1210
1211
1212 \end_layout
1213
1214 \begin_layout Standard
1215 A submit button is used to submit the form data to a server.
1216  It is added by inserting the custom inset 
1217 \family sans
1218 SubmitButton
1219 \family default
1220 .
1221  The label for the button is written into the inset.
1222  Here is an example:
1223 \end_layout
1224
1225 \begin_layout Standard
1226 \begin_inset Flex SubmitButton
1227 status open
1228
1229 \begin_layout Plain Layout
1230 \begin_inset Argument 1
1231 status open
1232
1233 \begin_layout Plain Layout
1234 name=submit1
1235 \end_layout
1236
1237 \end_inset
1238
1239 Send your data via email
1240 \end_layout
1241
1242 \end_inset
1243
1244
1245 \end_layout
1246
1247 \begin_layout Standard
1248 The submit button creates a forms data format (FDF) file (file extension *.fdf) which is then submitted.
1249  The FDF file contains only the form data.
1250  They can later only be applied to a PDF form if all elements in the form have a name.
1251 \end_layout
1252
1253 \begin_layout Standard
1254 \begin_inset Note Greyedout
1255 status open
1256
1257 \begin_layout Plain Layout
1258
1259 \series bold
1260 Note:
1261
1262 \series default
1263  You can only use a submit button if you specified the submit method and a target in the inset 
1264 \family sans
1265 PDF
1266 \begin_inset space ~
1267 \end_inset
1268
1269 Form
1270 \begin_inset space ~
1271 \end_inset
1272
1273 Parameters
1274 \family default
1275 !
1276  See sec.
1277 \begin_inset space \thinspace{}
1278 \end_inset
1279
1280
1281 \begin_inset CommandInset ref
1282 LatexCommand ref
1283 reference "sec:Preparation"
1284 nolink "false"
1285
1286 \end_inset
1287
1288  for the description.
1289  If there are no specifications you will get \SpecialChar LaTeX
1290  errors.
1291 \end_layout
1292
1293 \end_inset
1294
1295
1296 \end_layout
1297
1298 \begin_layout Subsection
1299 Reset button
1300 \end_layout
1301
1302 \begin_layout Standard
1303 A reset button is used to reset all form elements to the initial state.
1304  It is added by inserting the custom inset 
1305 \family sans
1306 ResetButton
1307 \family default
1308 .
1309  The label for the button is written into the inset.
1310  Here is an example:
1311 \end_layout
1312
1313 \begin_layout Standard
1314 \begin_inset Flex ResetButton
1315 status open
1316
1317 \begin_layout Plain Layout
1318 \begin_inset Argument 1
1319 status open
1320
1321 \begin_layout Plain Layout
1322 name=reset1
1323 \end_layout
1324
1325 \end_inset
1326
1327 Reset the form
1328 \end_layout
1329
1330 \end_inset
1331
1332
1333 \end_layout
1334
1335 \begin_layout Section
1336 Form element customization
1337 \begin_inset CommandInset label
1338 LatexCommand label
1339 name "sec:Form-element-customization"
1340
1341 \end_inset
1342
1343
1344 \end_layout
1345
1346 \begin_layout Standard
1347 Since all form elements should look uniform,
1348  one can determine their layout using the following styles:
1349 \end_layout
1350
1351 \begin_layout Description
1352 Text
1353 \begin_inset space ~
1354 \end_inset
1355
1356 Field
1357 \begin_inset space ~
1358 \end_inset
1359
1360 Style
1361 \end_layout
1362
1363 \begin_layout Description
1364 Check
1365 \begin_inset space ~
1366 \end_inset
1367
1368 Box
1369 \begin_inset space ~
1370 \end_inset
1371
1372 Style
1373 \end_layout
1374
1375 \begin_layout Description
1376 List
1377 \begin_inset space ~
1378 \end_inset
1379
1380 Box
1381 \begin_inset space ~
1382 \end_inset
1383
1384 Style affects all choice menu types
1385 \end_layout
1386
1387 \begin_layout Description
1388 Combo
1389 \begin_inset space ~
1390 \end_inset
1391
1392 Box
1393 \begin_inset space ~
1394 \end_inset
1395
1396 Style affects only the combo box style
1397 \end_layout
1398
1399 \begin_layout Description
1400 Popdown
1401 \begin_inset space ~
1402 \end_inset
1403
1404 Box
1405 \begin_inset space ~
1406 \end_inset
1407
1408 Style affects only the popdown box style
1409 \end_layout
1410
1411 \begin_layout Description
1412 Radio
1413 \begin_inset space ~
1414 \end_inset
1415
1416 Box
1417 \begin_inset space ~
1418 \end_inset
1419
1420 Style affects only the radio box style
1421 \end_layout
1422
1423 \begin_layout Description
1424 Push
1425 \begin_inset space ~
1426 \end_inset
1427
1428 Button
1429 \begin_inset space ~
1430 \end_inset
1431
1432 Style
1433 \end_layout
1434
1435 \begin_layout Description
1436 Submit
1437 \begin_inset space ~
1438 \end_inset
1439
1440 Button
1441 \begin_inset space ~
1442 \end_inset
1443
1444 Style
1445 \end_layout
1446
1447 \begin_layout Description
1448 Reset
1449 \begin_inset space ~
1450 \end_inset
1451
1452 Button
1453 \begin_inset space ~
1454 \end_inset
1455
1456 Style
1457 \end_layout
1458
1459 \begin_layout Standard
1460 The content of the styles is a comma-separated list of parameters.
1461  The possible parameters are listed in sec.
1462 \begin_inset space \thinspace{}
1463 \end_inset
1464
1465 6.2 
1466 \begin_inset Quotes eld
1467 \end_inset
1468
1469 Forms optional parameters
1470 \begin_inset Quotes erd
1471 \end_inset
1472
1473  of the documentation of the \SpecialChar LaTeX
1474  package 
1475 \series bold
1476 hyperref
1477 \series default
1478 ,
1479  
1480 \begin_inset CommandInset citation
1481 LatexCommand cite
1482 key "hyperref"
1483 literal "true"
1484
1485 \end_inset
1486
1487 .
1488  It is important that the parameter 
1489 \emph on
1490 print
1491 \emph default
1492  is always part of the definition.
1493  Otherwise the elements will not appear in the PDF.
1494  The defined style is applied to all elements following the definition.
1495 \end_layout
1496
1497 \begin_layout Subsubsection*
1498 Here are some examples:
1499 \end_layout
1500
1501 \begin_layout Text Field Style
1502 print,
1503  bordercolor=red,
1504  borderstyle=U,
1505  backgroundcolor=lightgray,
1506  color=lime,
1507  maxlen=10,
1508  align=2,
1509  charsize=16pt
1510 \begin_inset Note Note
1511 status open
1512
1513 \begin_layout Plain Layout
1514 The parameter 
1515 \series bold
1516 borderstyle
1517 \series default
1518  can be 
1519 \series bold
1520 U
1521 \series default
1522  (underlined),
1523  
1524 \series bold
1525 S
1526 \series default
1527  (solid),
1528  
1529 \series bold
1530 D
1531 \series default
1532  (dashed),
1533  
1534 \series bold
1535 B
1536 \series default
1537  (bevel) or 
1538 \series bold
1539 I
1540 \series default
1541  (inverted bevel).
1542 \end_layout
1543
1544 \end_inset
1545
1546
1547 \end_layout
1548
1549 \begin_layout Check Box Style
1550 print,
1551  borderstyle=S,
1552  checkboxsymbol=
1553 \backslash
1554 ding{55}
1555 \end_layout
1556
1557 \begin_layout Combo Box Style
1558 print,
1559  bordercolor={0.33 0.66 0.33},
1560  borderstyle=D
1561 \end_layout
1562
1563 \begin_layout Popdown Box Style
1564 print,
1565  menulength=2
1566 \begin_inset Note Note
1567 status collapsed
1568
1569 \begin_layout Plain Layout
1570 The parameter
1571 \series bold
1572  menulength
1573 \series default
1574  determines the number of displayed menu entries.
1575  It does not work currently because of a bug in the \SpecialChar LaTeX
1576  package 
1577 \series bold
1578 hyperref
1579 \series default
1580 .
1581 \end_layout
1582
1583 \end_inset
1584
1585
1586 \end_layout
1587
1588 \begin_layout Radio Box Style
1589 print,
1590  borderstyle=I,
1591  radiosymbol=3
1592 \end_layout
1593
1594 \begin_layout Push Button Style
1595 print,
1596  borderstyle=B,
1597  bordercolor=lime
1598 \end_layout
1599
1600 \begin_layout Submit Button Style
1601 print,
1602  borderwidth=0,
1603  bordercolor=white
1604 \end_layout
1605
1606 \begin_layout Reset Button Style
1607 print,
1608  bordercolor=lime
1609 \end_layout
1610
1611 \begin_layout Itemize
1612 Text field with gray background,
1613  lime text color,
1614  a red border only below the field,
1615  right alignment,
1616  16
1617 \begin_inset space \thinspace{}
1618 \end_inset
1619
1620 pt font size and a limitation for maximal 10
1621 \begin_inset space ~
1622 \end_inset
1623
1624 characters to insert:
1625 \begin_inset VSpace defskip
1626 \end_inset
1627
1628
1629 \begin_inset Newline newline
1630 \end_inset
1631
1632
1633 \begin_inset Flex TextField
1634 status open
1635
1636 \begin_layout Plain Layout
1637 \begin_inset Argument 1
1638 status open
1639
1640 \begin_layout Plain Layout
1641
1642 \end_layout
1643
1644 \end_inset
1645
1646 Enter your name here:
1647 \end_layout
1648
1649 \end_inset
1650
1651
1652 \end_layout
1653
1654 \begin_layout Standard
1655 \begin_inset Note Greyedout
1656 status open
1657
1658 \begin_layout Plain Layout
1659
1660 \series bold
1661 Note:
1662
1663 \series default
1664  To see in 
1665 \emph on
1666 Adobe Reader
1667 \emph default
1668  and 
1669 \emph on
1670 Acrobat
1671 \emph default
1672  custom background colors you must disable in these programs the highlighting of form fields.
1673  (Option 
1674 \begin_inset Quotes eld
1675 \end_inset
1676
1677 Show border hover color for fields
1678 \begin_inset Quotes erd
1679 \end_inset
1680
1681 )
1682 \end_layout
1683
1684 \end_inset
1685
1686
1687 \end_layout
1688
1689 \begin_layout Itemize
1690 Check box with normal border and symbol 
1691 \backslash
1692 ding{55}:
1693 \begin_inset VSpace defskip
1694 \end_inset
1695
1696
1697 \begin_inset Newline newline
1698 \end_inset
1699
1700
1701 \begin_inset Flex CheckBox
1702 status open
1703
1704 \begin_layout Plain Layout
1705 \begin_inset Argument 1
1706 status open
1707
1708 \begin_layout Plain Layout
1709
1710 \end_layout
1711
1712 \end_inset
1713
1714 Are you older than 18 years?
1715 \end_layout
1716
1717 \end_inset
1718
1719
1720 \end_layout
1721
1722 \begin_layout Standard
1723 The symbol is either specified as number or with the command
1724 \begin_inset Newline newline
1725 \end_inset
1726
1727
1728 \series bold
1729
1730 \backslash
1731 ding{number}
1732 \series default
1733
1734 \begin_inset Newline newline
1735 \end_inset
1736
1737 where 
1738 \series bold
1739 number
1740 \series default
1741  is one of the possible numbers listed in Table
1742 \begin_inset space ~
1743 \end_inset
1744
1745 2 of the documentation of the \SpecialChar LaTeX
1746  package 
1747 \series bold
1748 pifont
1749 \series default
1750 ,
1751  
1752 \begin_inset CommandInset citation
1753 LatexCommand cite
1754 key "pifont"
1755 literal "true"
1756
1757 \end_inset
1758
1759 .
1760 \end_layout
1761
1762 \begin_layout Itemize
1763 Combo choice menu with dashed,
1764  colored border where the last entry is preselected:
1765 \begin_inset VSpace defskip
1766 \end_inset
1767
1768
1769 \begin_inset Newline newline
1770 \end_inset
1771
1772
1773 \begin_inset Flex ChoiceMenu
1774 status open
1775
1776 \begin_layout Plain Layout
1777 \begin_inset Argument 1
1778 status open
1779
1780 \begin_layout Plain Layout
1781 combo,
1782  name=combo2,
1783  default=Az
1784 \end_layout
1785
1786 \end_inset
1787
1788 Albania=Al,
1789  Armenia=Ar,
1790  Azerbaidschan=Az
1791 \begin_inset Argument 2
1792 status open
1793
1794 \begin_layout Plain Layout
1795 Country:
1796 \end_layout
1797
1798 \end_inset
1799
1800
1801 \end_layout
1802
1803 \end_inset
1804
1805
1806 \end_layout
1807
1808 \begin_layout Itemize
1809 Popdown choice menu where the second entry is preselected:
1810 \begin_inset VSpace defskip
1811 \end_inset
1812
1813
1814 \begin_inset Newline newline
1815 \end_inset
1816
1817
1818 \begin_inset Flex ChoiceMenu
1819 status open
1820
1821 \begin_layout Plain Layout
1822 \begin_inset Argument 1
1823 status open
1824
1825 \begin_layout Plain Layout
1826 popdown,
1827  name=country2,
1828  default=Ar
1829 \end_layout
1830
1831 \end_inset
1832
1833 Albania=Al,
1834  Armenia=Ar,
1835  Azerbaidschan=Az
1836 \begin_inset Argument 2
1837 status open
1838
1839 \begin_layout Plain Layout
1840 Country:
1841 \end_layout
1842
1843 \end_inset
1844
1845
1846 \end_layout
1847
1848 \end_inset
1849
1850
1851 \end_layout
1852
1853 \begin_layout Standard
1854 \begin_inset VSpace defskip
1855 \end_inset
1856
1857
1858 \begin_inset Note Greyedout
1859 status open
1860
1861 \begin_layout Plain Layout
1862
1863 \series bold
1864 Note:
1865  
1866 \series default
1867 The parameters 
1868 \series bold
1869 borderstyle B
1870 \series default
1871  and 
1872 \series bold
1873 I
1874 \series default
1875  and 
1876 \series bold
1877 color
1878 \series default
1879  have no effect for popdown choice menus.
1880 \end_layout
1881
1882 \end_inset
1883
1884
1885 \end_layout
1886
1887 \begin_layout Itemize
1888 Radio choice menu with inverted bevel border and symbol number
1889 \begin_inset space ~
1890 \end_inset
1891
1892 3 as checkmark:
1893 \begin_inset VSpace defskip
1894 \end_inset
1895
1896
1897 \begin_inset Newline newline
1898 \end_inset
1899
1900
1901 \begin_inset Flex ChoiceMenu
1902 status open
1903
1904 \begin_layout Plain Layout
1905 \begin_inset Argument 1
1906 status open
1907
1908 \begin_layout Plain Layout
1909 radio,
1910  name=radio2
1911 \end_layout
1912
1913 \end_inset
1914
1915 male=m,
1916  female=f
1917 \begin_inset Argument 2
1918 status open
1919
1920 \begin_layout Plain Layout
1921 Sex:
1922 \end_layout
1923
1924 \end_inset
1925
1926
1927 \end_layout
1928
1929 \end_inset
1930
1931
1932 \end_layout
1933
1934 \begin_layout Standard
1935 \begin_inset VSpace defskip
1936 \end_inset
1937
1938
1939 \begin_inset Note Greyedout
1940 status open
1941
1942 \begin_layout Plain Layout
1943
1944 \series bold
1945 Note:
1946
1947 \series default
1948  The parameters 
1949 \series bold
1950 backgroundcolor
1951 \series default
1952 ,
1953  
1954 \series bold
1955 color
1956 \series default
1957 ,
1958  
1959 \series bold
1960 height 
1961 \series default
1962 and 
1963 \series bold
1964 width
1965 \series default
1966  have no effect for push,
1967  submit and reset buttons.
1968 \end_layout
1969
1970 \end_inset
1971
1972
1973 \end_layout
1974
1975 \begin_layout Standard
1976 As workaround use a colored box and/or color the box text.
1977 \end_layout
1978
1979 \begin_layout Itemize
1980 Push button with a bevel border and colored text:
1981 \begin_inset VSpace defskip
1982 \end_inset
1983
1984
1985 \begin_inset Newline newline
1986 \end_inset
1987
1988
1989 \begin_inset Flex PushButton
1990 status open
1991
1992 \begin_layout Plain Layout
1993 \begin_inset Argument 1
1994 status open
1995
1996 \begin_layout Plain Layout
1997 onclick={app.alert(
1998 \begin_inset ERT
1999 status collapsed
2000
2001 \begin_layout Plain Layout
2002
2003 "
2004 \end_layout
2005
2006 \end_inset
2007
2008 Why do you click this?
2009 \begin_inset ERT
2010 status collapsed
2011
2012 \begin_layout Plain Layout
2013
2014 "
2015 \end_layout
2016
2017 \end_inset
2018
2019 )}
2020 \end_layout
2021
2022 \end_inset
2023
2024
2025 \begin_inset Box Frameless
2026 position "t"
2027 hor_pos "c"
2028 has_inner_box 1
2029 inner_pos "t"
2030 use_parbox 0
2031 use_makebox 1
2032 width ""
2033 special "none"
2034 height "1in"
2035 height_special "totalheight"
2036 thickness "0.4pt"
2037 separation "3pt"
2038 shadowsize "4pt"
2039 framecolor "black"
2040 backgroundcolor "lime"
2041 status open
2042
2043 \begin_layout Plain Layout
2044
2045 \color red
2046 Don't click on this button!!!
2047 \end_layout
2048
2049 \end_inset
2050
2051
2052 \end_layout
2053
2054 \end_inset
2055
2056
2057 \begin_inset VSpace bigskip
2058 \end_inset
2059
2060
2061 \end_layout
2062
2063 \begin_layout Itemize
2064 Submit button without border,
2065  with cyan background and increased height:
2066 \begin_inset VSpace defskip
2067 \end_inset
2068
2069
2070 \begin_inset Newline newline
2071 \end_inset
2072
2073
2074 \begin_inset Flex SubmitButton
2075 status open
2076
2077 \begin_layout Plain Layout
2078 \begin_inset Argument 1
2079 status open
2080
2081 \begin_layout Plain Layout
2082 name=submit2
2083 \end_layout
2084
2085 \end_inset
2086
2087
2088 \begin_inset Box Frameless
2089 position "c"
2090 hor_pos "c"
2091 has_inner_box 1
2092 inner_pos "c"
2093 use_parbox 0
2094 use_makebox 1
2095 width "6cm"
2096 special "none"
2097 height "1in"
2098 height_special "totalheight"
2099 thickness "0.4pt"
2100 separation "3pt"
2101 shadowsize "4pt"
2102 framecolor "black"
2103 backgroundcolor "cyan"
2104 status open
2105
2106 \begin_layout Plain Layout
2107 \begin_inset Box Frameless
2108 position "c"
2109 hor_pos "c"
2110 has_inner_box 1
2111 inner_pos "c"
2112 use_parbox 1
2113 use_makebox 0
2114 width "4.5cm"
2115 special "none"
2116 height "4in"
2117 height_special "totalheight"
2118 thickness "0.4pt"
2119 separation "3pt"
2120 shadowsize "4pt"
2121 framecolor "black"
2122 backgroundcolor "none"
2123 status open
2124
2125 \begin_layout Plain Layout
2126 Send your data via mail
2127 \end_layout
2128
2129 \end_inset
2130
2131
2132 \end_layout
2133
2134 \end_inset
2135
2136
2137 \end_layout
2138
2139 \end_inset
2140
2141
2142 \begin_inset VSpace bigskip
2143 \end_inset
2144
2145
2146 \end_layout
2147
2148 \begin_layout Itemize
2149 Reset button with a width of 7
2150 \begin_inset space \thinspace{}
2151 \end_inset
2152
2153 cm:
2154 \begin_inset VSpace defskip
2155 \end_inset
2156
2157
2158 \begin_inset Newline newline
2159 \end_inset
2160
2161
2162 \begin_inset Flex ResetButton
2163 status open
2164
2165 \begin_layout Plain Layout
2166 \begin_inset Argument 1
2167 status open
2168
2169 \begin_layout Plain Layout
2170 name=reset2
2171 \end_layout
2172
2173 \end_inset
2174
2175
2176 \begin_inset Box Frameless
2177 position "t"
2178 hor_pos "c"
2179 has_inner_box 1
2180 inner_pos "t"
2181 use_parbox 0
2182 use_makebox 1
2183 width "7cm"
2184 special "none"
2185 height "1in"
2186 height_special "totalheight"
2187 thickness "0.4pt"
2188 separation "3pt"
2189 shadowsize "4pt"
2190 framecolor "black"
2191 backgroundcolor "none"
2192 status open
2193
2194 \begin_layout Plain Layout
2195 Reset the form
2196 \end_layout
2197
2198 \end_inset
2199
2200
2201 \end_layout
2202
2203 \end_inset
2204
2205
2206 \end_layout
2207
2208 \begin_layout Standard
2209 \begin_inset Newpage newpage
2210 \end_inset
2211
2212
2213 \end_layout
2214
2215 \begin_layout Section
2216 PDF action buttons
2217 \end_layout
2218
2219 \begin_layout Standard
2220 One often needs basic actions to be done by the PDF viewer program,
2221  for example to print the form.
2222  Such PDF program-specific actions can be triggered by adding inserting the custom inset 
2223 \family sans
2224 PDFAction
2225 \family default
2226 .
2227  The PDF viewers 
2228 \emph on
2229 Acrobat
2230 \emph default
2231  and 
2232 \emph on
2233 Adobe Reader
2234 \emph default
2235  can handle all possible actions while other PDF viewers might only support some of them.
2236  However,
2237  all PDF viewers support the basic things like printing,
2238  save
2239 \begin_inset space ~
2240 \end_inset
2241
2242 as,
2243  view in fullscreen etc..
2244 \end_layout
2245
2246 \begin_layout Standard
2247 To specify the action insert its name to the 
2248 \family sans
2249 Action
2250 \family default
2251  inset.
2252  A list with possible action names can be found in sec.
2253 \begin_inset space \thinspace{}
2254 \end_inset
2255
2256
2257 \begin_inset Quotes eld
2258 \end_inset
2259
2260 Acrobat-specific behavior
2261 \begin_inset Quotes erd
2262 \end_inset
2263
2264  of the documentation of the \SpecialChar LaTeX
2265  package 
2266 \series bold
2267 hyperref
2268 \series default
2269 ,
2270  
2271 \begin_inset CommandInset citation
2272 LatexCommand cite
2273 key "hyperref"
2274 literal "true"
2275
2276 \end_inset
2277
2278 .
2279 \end_layout
2280
2281 \begin_layout Standard
2282 Here are some examples:
2283 \end_layout
2284
2285 \begin_layout Description
2286 Printing:
2287  
2288 \begin_inset Flex PDFAction
2289 status open
2290
2291 \begin_layout Plain Layout
2292 \begin_inset Argument 1
2293 status open
2294
2295 \begin_layout Plain Layout
2296 Print
2297 \end_layout
2298
2299 \end_inset
2300
2301 Print the document
2302 \end_layout
2303
2304 \end_inset
2305
2306
2307 \end_layout
2308
2309 \begin_layout Description
2310 Save
2311 \begin_inset space ~
2312 \end_inset
2313
2314 as:
2315  
2316 \begin_inset Flex PDFAction
2317 status open
2318
2319 \begin_layout Plain Layout
2320 \begin_inset Argument 1
2321 status open
2322
2323 \begin_layout Plain Layout
2324 SaveAs
2325 \end_layout
2326
2327 \end_inset
2328
2329 Save document as
2330 \end_layout
2331
2332 \end_inset
2333
2334
2335 \end_layout
2336
2337 \begin_layout Description
2338 View
2339 \begin_inset space ~
2340 \end_inset
2341
2342 in
2343 \begin_inset space ~
2344 \end_inset
2345
2346 fullscreen:
2347  
2348 \begin_inset Flex PDFAction
2349 status open
2350
2351 \begin_layout Plain Layout
2352 \begin_inset Argument 1
2353 status open
2354
2355 \begin_layout Plain Layout
2356 FullScreen
2357 \end_layout
2358
2359 \end_inset
2360
2361 View the form in fullscreen
2362 \end_layout
2363
2364 \end_inset
2365
2366
2367 \end_layout
2368
2369 \begin_layout Subsection
2370 Action button customization
2371 \begin_inset CommandInset label
2372 LatexCommand label
2373 name "subsec:Action-button-customization"
2374
2375 \end_inset
2376
2377
2378 \end_layout
2379
2380 \begin_layout Standard
2381 Customizing the action buttons requires the usage of boxes because things like the width,
2382  height and border separation cannot be specified as button parameters.
2383 \end_layout
2384
2385 \begin_layout Standard
2386 The easiest way to customize the buttons is to fill it with a custom box.
2387  For example the button should be 5
2388 \begin_inset space \thinspace{}
2389 \end_inset
2390
2391 cm wide and have the height of 2
2392 \begin_inset space ~
2393 \end_inset
2394
2395 lines.
2396  Then create this parbox:
2397 \end_layout
2398
2399 \begin_layout Standard
2400 \begin_inset Box Frameless
2401 position "c"
2402 hor_pos "c"
2403 has_inner_box 1
2404 inner_pos "c"
2405 use_parbox 1
2406 use_makebox 0
2407 width "5cm"
2408 special "none"
2409 height "2in"
2410 height_special "totalheight"
2411 thickness "0.4pt"
2412 separation "3pt"
2413 shadowsize "4pt"
2414 framecolor "black"
2415 backgroundcolor "none"
2416 status open
2417
2418 \begin_layout Plain Layout
2419 \noindent
2420 Save form as
2421 \end_layout
2422
2423 \end_inset
2424
2425
2426 \end_layout
2427
2428 \begin_layout Standard
2429 inside a 
2430 \family sans
2431 PDFAction
2432 \family default
2433  inset.
2434  This is the result:
2435 \end_layout
2436
2437 \begin_layout Standard
2438 \begin_inset Flex PDFAction
2439 status open
2440
2441 \begin_layout Plain Layout
2442 \begin_inset Argument 1
2443 status open
2444
2445 \begin_layout Plain Layout
2446 SaveAs
2447 \end_layout
2448
2449 \end_inset
2450
2451
2452 \begin_inset Box Frameless
2453 position "c"
2454 hor_pos "c"
2455 has_inner_box 1
2456 inner_pos "c"
2457 use_parbox 1
2458 use_makebox 0
2459 width "5cm"
2460 special "none"
2461 height "2in"
2462 height_special "totalheight"
2463 thickness "0.4pt"
2464 separation "3pt"
2465 shadowsize "4pt"
2466 framecolor "black"
2467 backgroundcolor "none"
2468 status open
2469
2470 \begin_layout Plain Layout
2471 Save form as
2472 \end_layout
2473
2474 \end_inset
2475
2476
2477 \end_layout
2478
2479 \end_inset
2480
2481
2482 \end_layout
2483
2484 \begin_layout PDF Link Setup
2485 pdfborder={0 0 0}
2486 \begin_inset Note Note
2487 status open
2488
2489 \begin_layout Plain Layout
2490 Sets the thickness of the predefined link border to zero as described below.
2491 \end_layout
2492
2493 \end_inset
2494
2495
2496 \end_layout
2497
2498 \begin_layout Standard
2499 To customize the border color,
2500  border thickness and the distance to the border one changes the border settings of the box.
2501  An example with a 4
2502 \begin_inset space \thinspace{}
2503 \end_inset
2504
2505 pt thick,
2506  teal border and 3
2507 \begin_inset space \thinspace{}
2508 \end_inset
2509
2510 pt border separation :
2511 \begin_inset VSpace defskip
2512 \end_inset
2513
2514
2515 \begin_inset Newline newline
2516 \end_inset
2517
2518
2519 \begin_inset Flex PDFAction
2520 status open
2521
2522 \begin_layout Plain Layout
2523 \begin_inset Argument 1
2524 status open
2525
2526 \begin_layout Plain Layout
2527 SaveAs
2528 \end_layout
2529
2530 \end_inset
2531
2532
2533 \begin_inset Box Boxed
2534 position "c"
2535 hor_pos "c"
2536 has_inner_box 1
2537 inner_pos "c"
2538 use_parbox 1
2539 use_makebox 0
2540 width "5cm"
2541 special "none"
2542 height "2in"
2543 height_special "totalheight"
2544 thickness "4pt"
2545 separation "3pt"
2546 shadowsize "4pt"
2547 framecolor "teal"
2548 backgroundcolor "white"
2549 status open
2550
2551 \begin_layout Plain Layout
2552 \noindent
2553 Save form as
2554 \end_layout
2555
2556 \end_inset
2557
2558
2559 \end_layout
2560
2561 \end_inset
2562
2563
2564 \end_layout
2565
2566 \begin_layout Standard
2567 To customize the border thickness,
2568  add the command 
2569 \series bold
2570 pdfborder={0 0 t}
2571 \series default
2572  to the additional options in the document settings under 
2573 \family sans
2574 PDF
2575 \begin_inset space ~
2576 \end_inset
2577
2578 properties
2579 \family default
2580  and replace 
2581 \series bold
2582 t
2583 \series default
2584  with a number that is the thickness in pixels.
2585  If you want to change the border thickness only for certain buttons,
2586  use the environment 
2587 \family sans
2588 PDF
2589 \begin_inset space ~
2590 \end_inset
2591
2592 link
2593 \begin_inset space ~
2594 \end_inset
2595
2596 setup
2597 \family default
2598  before the button and insert there the command 
2599 \series bold
2600 pdfborder
2601 \series default
2602 .
2603  The default value of 
2604 \series bold
2605 pdfborder
2606 \series default
2607  is 
2608 \series bold
2609 {0 0 1}
2610 \series default
2611 .
2612 \end_layout
2613
2614 \begin_layout Standard
2615 \begin_inset Note Greyedout
2616 status open
2617
2618 \begin_layout Plain Layout
2619
2620 \series bold
2621 Note:
2622
2623 \series default
2624  
2625 \series bold
2626 pdfborder
2627 \series default
2628  affects all link types,
2629  not only the action links.
2630 \end_layout
2631
2632 \end_inset
2633
2634
2635 \end_layout
2636
2637 \begin_layout PDF Link Setup
2638 pdfborder={0 0 4}
2639 \end_layout
2640
2641 \begin_layout Standard
2642 An example with a 4
2643 \begin_inset space ~
2644 \end_inset
2645
2646 pixel thick border:
2647 \begin_inset Newline newline
2648 \end_inset
2649
2650
2651 \begin_inset Flex PDFAction
2652 status open
2653
2654 \begin_layout Plain Layout
2655 \begin_inset Argument 1
2656 status open
2657
2658 \begin_layout Plain Layout
2659 SaveAs
2660 \end_layout
2661
2662 \end_inset
2663
2664
2665 \begin_inset Box Frameless
2666 position "c"
2667 hor_pos "c"
2668 has_inner_box 1
2669 inner_pos "c"
2670 use_parbox 1
2671 use_makebox 0
2672 width "5cm"
2673 special "none"
2674 height "2in"
2675 height_special "totalheight"
2676 thickness "0.4pt"
2677 separation "3pt"
2678 shadowsize "4pt"
2679 framecolor "black"
2680 backgroundcolor "none"
2681 status open
2682
2683 \begin_layout Plain Layout
2684 \noindent
2685 Save form as
2686 \end_layout
2687
2688 \end_inset
2689
2690
2691 \end_layout
2692
2693 \end_inset
2694
2695
2696 \end_layout
2697
2698 \begin_layout Standard
2699 To change the border color use the command 
2700 \series bold
2701 menubordercolor={r g b}
2702 \series default
2703  where 
2704 \series bold
2705 r
2706 \series default
2707 ,
2708  
2709 \series bold
2710 g
2711 \series default
2712  and 
2713 \series bold
2714 b
2715 \series default
2716  are numbers between 0 and 1 for the colors red,
2717  green and blue.
2718  The default value of 
2719 \series bold
2720 menubordercolor
2721 \series default
2722  is 
2723 \series bold
2724 {1 0 0}
2725 \series default
2726 .
2727 \end_layout
2728
2729 \begin_layout PDF Link Setup
2730 pdfborder={0 0 1},
2731  menubordercolor={0.1 0.9 0.5}
2732 \end_layout
2733
2734 \begin_layout Standard
2735 An example with 
2736 \series bold
2737 menubordercolor={0.1 0.9 0.5}
2738 \series default
2739 :
2740 \begin_inset Newline newline
2741 \end_inset
2742
2743
2744 \begin_inset Flex PDFAction
2745 status open
2746
2747 \begin_layout Plain Layout
2748 \begin_inset Argument 1
2749 status open
2750
2751 \begin_layout Plain Layout
2752 SaveAs
2753 \end_layout
2754
2755 \end_inset
2756
2757
2758 \begin_inset Box Frameless
2759 position "c"
2760 hor_pos "c"
2761 has_inner_box 1
2762 inner_pos "c"
2763 use_parbox 1
2764 use_makebox 0
2765 width "5cm"
2766 special "none"
2767 height "2in"
2768 height_special "totalheight"
2769 thickness "0.4pt"
2770 separation "3pt"
2771 shadowsize "4pt"
2772 framecolor "black"
2773 backgroundcolor "none"
2774 status open
2775
2776 \begin_layout Plain Layout
2777 \noindent
2778 Save form as
2779 \end_layout
2780
2781 \end_inset
2782
2783
2784 \end_layout
2785
2786 \end_inset
2787
2788
2789 \end_layout
2790
2791 \begin_layout Standard
2792 To change the background color use a colored box.
2793 \end_layout
2794
2795 \begin_layout PDF Link Setup
2796 pdfborder={0 0 0}
2797 \end_layout
2798
2799 \begin_layout Standard
2800 An example without a border and with lime background color:
2801 \begin_inset Newline newline
2802 \end_inset
2803
2804
2805 \begin_inset Flex PDFAction
2806 status open
2807
2808 \begin_layout Plain Layout
2809 \begin_inset Argument 1
2810 status open
2811
2812 \begin_layout Plain Layout
2813 SaveAs
2814 \end_layout
2815
2816 \end_inset
2817
2818
2819 \begin_inset Box Frameless
2820 position "c"
2821 hor_pos "c"
2822 has_inner_box 1
2823 inner_pos "c"
2824 use_parbox 1
2825 use_makebox 0
2826 width "5cm"
2827 special "none"
2828 height "2in"
2829 height_special "totalheight"
2830 thickness "0.4pt"
2831 separation "3pt"
2832 shadowsize "4pt"
2833 framecolor "black"
2834 backgroundcolor "lime"
2835 status open
2836
2837 \begin_layout Plain Layout
2838 \noindent
2839 Save form as
2840 \end_layout
2841
2842 \end_inset
2843
2844
2845 \end_layout
2846
2847 \end_inset
2848
2849
2850 \end_layout
2851
2852 \begin_layout PDF Link Setup
2853 pdfborder={0 0 1},
2854  menubordercolor={1 0 0}
2855 \end_layout
2856
2857 \begin_layout Section
2858 Dynamic form elements
2859 \end_layout
2860
2861 \begin_layout Standard
2862 It is also possible to have dynamic form elements.
2863  This means that depending on the actions of the user elements can (dis)appear or change their appearance.
2864  To use this feature,
2865  add these lines to your LaTeX preamble:
2866 \end_layout
2867
2868 \begin_layout Standard
2869
2870 \series bold
2871
2872 \backslash
2873 usepackage[pdftex]{insdljs}
2874 \begin_inset Newline newline
2875 \end_inset
2876
2877
2878 \backslash
2879 pdfcatalog{/AA 
2880 \backslash
2881 the
2882 \backslash
2883 pdflastobj
2884 \backslash
2885 space 0 R}
2886 \end_layout
2887
2888 \begin_layout Standard
2889 Then add the necessary JavaScript code to your document LaTeX preamble or as \SpecialChar TeX
2890  code to your document.
2891  For info about JavaScript,
2892  see its documentation,
2893  
2894 \begin_inset CommandInset citation
2895 LatexCommand cite
2896 key "JavaScript"
2897 literal "true"
2898
2899 \end_inset
2900
2901 .
2902 \end_layout
2903
2904 \begin_layout Standard
2905 \begin_inset ERT
2906 status collapsed
2907
2908 \begin_layout Plain Layout
2909
2910
2911 \backslash
2912 ifinsdljs
2913 \end_layout
2914
2915 \end_inset
2916
2917
2918 \begin_inset Note Note
2919 status open
2920
2921 \begin_layout Plain Layout
2922 The following section will only be displayed when the \SpecialChar LaTeX
2923  package 
2924 \series bold
2925 insdljs
2926 \series default
2927  is installed.
2928 \end_layout
2929
2930 \end_inset
2931
2932
2933 \end_layout
2934
2935 \begin_layout Standard
2936 For the following choice menu this JavaScript code was used:
2937 \end_layout
2938
2939 \begin_layout Standard
2940 \begin_inset listings
2941 lstparams "language=TeX"
2942 inline false
2943 status open
2944
2945 \begin_layout Plain Layout
2946
2947
2948 \backslash
2949 begin{insDLJS}[exaaae]{exaaae}{JavaScript}
2950 \end_layout
2951
2952 \begin_layout Plain Layout
2953
2954  function validateTime(){
2955 \end_layout
2956
2957 \begin_layout Plain Layout
2958
2959   this.delay = true;
2960 \end_layout
2961
2962 \begin_layout Plain Layout
2963
2964   if((event.value == "u") || (event.value == "unlimited")) {
2965 \end_layout
2966
2967 \begin_layout Plain Layout
2968
2969    this.getField("from").display = display.hidden;
2970 \end_layout
2971
2972 \begin_layout Plain Layout
2973
2974    this.getField("until").display = display.hidden;
2975 \end_layout
2976
2977 \begin_layout Plain Layout
2978
2979   } else {
2980 \end_layout
2981
2982 \begin_layout Plain Layout
2983
2984    this.getField("from").display = display.visible;
2985 \end_layout
2986
2987 \begin_layout Plain Layout
2988
2989    this.getField("until").display = display.visible;
2990 \end_layout
2991
2992 \begin_layout Plain Layout
2993
2994    this.getField("from").setFocus();
2995 \end_layout
2996
2997 \begin_layout Plain Layout
2998
2999   }
3000 \end_layout
3001
3002 \begin_layout Plain Layout
3003
3004   this.delay = false;
3005 \end_layout
3006
3007 \begin_layout Plain Layout
3008
3009  }
3010 \end_layout
3011
3012 \begin_layout Plain Layout
3013
3014
3015 \backslash
3016 end{insDLJS}
3017 \end_layout
3018
3019 \end_inset
3020
3021
3022 \end_layout
3023
3024 \begin_layout Standard
3025 \begin_inset Note Greyedout
3026 status open
3027
3028 \begin_layout Plain Layout
3029
3030 \series bold
3031 Note:
3032
3033 \series default
3034  
3035 \emph on
3036 All
3037 \emph default
3038  JavaScript functions must be inserted into the same 
3039 \family sans
3040 insDLJS
3041 \family default
3042  environment.
3043 \end_layout
3044
3045 \end_inset
3046
3047
3048 \end_layout
3049
3050 \begin_layout Standard
3051 The 
3052 \family sans
3053 Parameters
3054 \family default
3055  of the following choice menu are
3056 \begin_inset Newline newline
3057 \end_inset
3058
3059
3060 \series bold
3061 name=contract,radio,default=tl,validate={validateTime();}
3062 \end_layout
3063
3064 \begin_layout Standard
3065 \begin_inset Flex ChoiceMenu
3066 status open
3067
3068 \begin_layout Plain Layout
3069 \begin_inset Argument 1
3070 status open
3071
3072 \begin_layout Plain Layout
3073 name=contract,radio,default=tl,validate={validateTime();}
3074 \end_layout
3075
3076 \end_inset
3077
3078 term-limited=tl,
3079  unlimited=u
3080 \begin_inset Argument 2
3081 status open
3082
3083 \begin_layout Plain Layout
3084 Job contract:
3085 \end_layout
3086
3087 \end_inset
3088
3089
3090 \end_layout
3091
3092 \end_inset
3093
3094
3095 \begin_inset VSpace defskip
3096 \end_inset
3097
3098
3099 \end_layout
3100
3101 \begin_layout Standard
3102 \begin_inset Tabular
3103 <lyxtabular version="3" rows="3" columns="2">
3104 <features tabularvalignment="middle">
3105 <column alignment="left" valignment="top">
3106 <column alignment="center" valignment="top">
3107 <row>
3108 <cell alignment="left" valignment="top" usebox="none">
3109 \begin_inset Text
3110
3111 \begin_layout Plain Layout
3112 From:
3113 \end_layout
3114
3115 \end_inset
3116 </cell>
3117 <cell alignment="center" valignment="top" usebox="none">
3118 \begin_inset Text
3119
3120 \begin_layout Plain Layout
3121 \begin_inset Flex TextField
3122 status open
3123
3124 \begin_layout Plain Layout
3125 \begin_inset Argument 1
3126 status open
3127
3128 \begin_layout Plain Layout
3129 name=from,width=10em
3130 \end_layout
3131
3132 \end_inset
3133
3134
3135 \end_layout
3136
3137 \end_inset
3138
3139
3140 \end_layout
3141
3142 \end_inset
3143 </cell>
3144 </row>
3145 <row>
3146 <cell alignment="center" valignment="top" usebox="none">
3147 \begin_inset Text
3148
3149 \begin_layout Plain Layout
3150
3151 \end_layout
3152
3153 \end_inset
3154 </cell>
3155 <cell alignment="center" valignment="top" usebox="none">
3156 \begin_inset Text
3157
3158 \begin_layout Plain Layout
3159 \begin_inset VSpace -1.5mm
3160 \end_inset
3161
3162
3163 \end_layout
3164
3165 \end_inset
3166 </cell>
3167 </row>
3168 <row>
3169 <cell alignment="left" valignment="top" usebox="none">
3170 \begin_inset Text
3171
3172 \begin_layout Plain Layout
3173 Until:
3174 \end_layout
3175
3176 \end_inset
3177 </cell>
3178 <cell alignment="center" valignment="top" usebox="none">
3179 \begin_inset Text
3180
3181 \begin_layout Plain Layout
3182 \begin_inset Flex TextField
3183 status open
3184
3185 \begin_layout Plain Layout
3186 \begin_inset Argument 1
3187 status open
3188
3189 \begin_layout Plain Layout
3190 name=until,width=10em
3191 \end_layout
3192
3193 \end_inset
3194
3195
3196 \end_layout
3197
3198 \end_inset
3199
3200
3201 \end_layout
3202
3203 \end_inset
3204 </cell>
3205 </row>
3206 </lyxtabular>
3207
3208 \end_inset
3209
3210
3211 \end_layout
3212
3213 \begin_layout Standard
3214 \begin_inset VSpace bigskip
3215 \end_inset
3216
3217
3218 \end_layout
3219
3220 \begin_layout Standard
3221 To check and assure that the user only enters a number to a text field you can for example use this JavaScript code:
3222 \end_layout
3223
3224 \begin_layout Standard
3225 \begin_inset listings
3226 lstparams "language=TeX"
3227 inline false
3228 status open
3229
3230 \begin_layout Plain Layout
3231
3232 function checkNumber() {
3233 \end_layout
3234
3235 \begin_layout Plain Layout
3236
3237  event.rc = true;
3238 \end_layout
3239
3240 \begin_layout Plain Layout
3241
3242  if (!Number(event.value)) {
3243 \end_layout
3244
3245 \begin_layout Plain Layout
3246
3247   app.alert("Value must be a number!");
3248 \end_layout
3249
3250 \begin_layout Plain Layout
3251
3252   event.value = "";
3253 \end_layout
3254
3255 \begin_layout Plain Layout
3256
3257  } else {
3258 \end_layout
3259
3260 \begin_layout Plain Layout
3261
3262   event.target.textColor = color.green;
3263 \end_layout
3264
3265 \begin_layout Plain Layout
3266
3267 }
3268 \end_layout
3269
3270 \end_inset
3271
3272
3273 \end_layout
3274
3275 \begin_layout Standard
3276 An example text field:
3277  
3278 \begin_inset Flex TextField
3279 status open
3280
3281 \begin_layout Plain Layout
3282 \begin_inset Argument 1
3283 status open
3284
3285 \begin_layout Plain Layout
3286 name=onlyNumbers,
3287  align=1,
3288  validate={checkNumber();}
3289 \end_layout
3290
3291 \end_inset
3292
3293
3294 \end_layout
3295
3296 \end_inset
3297
3298
3299 \end_layout
3300
3301 \begin_layout Standard
3302 \begin_inset ERT
3303 status collapsed
3304
3305 \begin_layout Plain Layout
3306
3307
3308 \backslash
3309 else
3310 \end_layout
3311
3312 \end_inset
3313
3314
3315 \begin_inset Note Note
3316 status open
3317
3318 \begin_layout Plain Layout
3319 The following will be displayed when the \SpecialChar LaTeX
3320  package 
3321 \series bold
3322 insdljs
3323 \series default
3324  is not installed:
3325 \end_layout
3326
3327 \end_inset
3328
3329
3330 \end_layout
3331
3332 \begin_layout Standard
3333 You need to install the package 
3334 \series bold
3335 insdljs
3336 \series default
3337  to see the content of this section in the output.
3338 \end_layout
3339
3340 \begin_layout Standard
3341 \begin_inset ERT
3342 status collapsed
3343
3344 \begin_layout Plain Layout
3345
3346
3347 \backslash
3348 fi
3349 \end_layout
3350
3351 \end_inset
3352
3353
3354 \end_layout
3355
3356 \begin_layout End PDF Form
3357 \begin_inset Note Note
3358 status open
3359
3360 \begin_layout Plain Layout
3361 keep this empty
3362 \end_layout
3363
3364 \end_inset
3365
3366
3367 \end_layout
3368
3369 \begin_layout Section
3370 General notes
3371 \end_layout
3372
3373 \begin_layout Itemize
3374 Submitting and applying data requires that all form elements have a name.
3375 \end_layout
3376
3377 \begin_layout Itemize
3378 Creating a PDF form requires pdf\SpecialChar TeX
3379  or Lua\SpecialChar TeX
3380 .
3381  Use therefore either the \SpecialChar LyX
3382  export formats 
3383 \family sans
3384 PDF (pdflatex)
3385 \family default
3386  or 
3387 \family sans
3388 PDF (LuaTeX)
3389 \family default
3390 .
3391 \end_layout
3392
3393 \begin_layout Itemize
3394 To see in 
3395 \emph on
3396 Adobe Reader
3397 \emph default
3398  and 
3399 \emph on
3400 Acrobat
3401 \emph default
3402  custom background colors you must disable in these programs the highlighting of form fields.
3403  (Option 
3404 \begin_inset Quotes eld
3405 \end_inset
3406
3407 Show border hover color for fields
3408 \begin_inset Quotes erd
3409 \end_inset
3410
3411 )
3412 \end_layout
3413
3414 \begin_layout Bibliography
3415 \begin_inset CommandInset bibitem
3416 LatexCommand bibitem
3417 key "JavaScript"
3418 literal "true"
3419
3420 \end_inset
3421
3422
3423 \begin_inset CommandInset href
3424 LatexCommand href
3425 name "JavaScript reference"
3426 target "https://developer.mozilla.org/en/docs/Web/JavaScript/Reference"
3427 literal "false"
3428
3429 \end_inset
3430
3431
3432 \end_layout
3433
3434 \begin_layout Bibliography
3435 \begin_inset CommandInset bibitem
3436 LatexCommand bibitem
3437 key "hyperref"
3438 literal "true"
3439
3440 \end_inset
3441
3442
3443 \begin_inset CommandInset href
3444 LatexCommand href
3445 name "Documentation"
3446 target "https://ctan.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf"
3447 literal "false"
3448
3449 \end_inset
3450
3451  of the \SpecialChar LaTeX
3452  package 
3453 \series bold
3454 hyperref
3455 \end_layout
3456
3457 \begin_layout Bibliography
3458 \begin_inset CommandInset bibitem
3459 LatexCommand bibitem
3460 key "pifont"
3461 literal "true"
3462
3463 \end_inset
3464
3465
3466 \begin_inset CommandInset href
3467 LatexCommand href
3468 name "Documentation"
3469 target "https://ctan.org/tex-archive/macros/latex/required/psnfss/psnfss2e.pdf"
3470 literal "false"
3471
3472 \end_inset
3473
3474  of the \SpecialChar LaTeX
3475  package 
3476 \series bold
3477 pifont
3478 \end_layout
3479
3480 \end_body
3481 \end_document