File: pdf_form.html

package info (click to toggle)
scribus-doc 1.2.1-2
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 2,920 kB
  • ctags: 374
  • sloc: makefile: 387; xml: 110
file content (101 lines) | stat: -rw-r--r-- 7,316 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<qt>
<title>How To Create Your First PDF Web Form with Scribus</title>
<h2>How To Create Your First PDF Web Form with Scribus</h2>
<p><em><strong>With many thanks to Maciej Hanski</strong>, who kindly translated this from the Polish original, licenced under the FDL.</em></p>
<p><strong>The sample files, <code>scribusformphp.tar.gz</code>, a tarball of php file and sample doc, are available from http://docs.scribus.net</a></p>

<p>One of the biggest advantages of Scribus is the possibility to create PDF forms with embedded JavaScript scripts (in Adobe's own version, as described in the Adobe Javascript Reference at http://partners.adobe.com/asn/developer/pdfs/tn/5186AcroJS.pdf</p>

<p>Its rather simple to create a new form with Scribus. We start with clicking on the "New Document" icon or choosing <strong>New</strong> from the <strong>File</strong> menu.</p>

<table width="100%"><tr><td align="center"><img src="images/formularz_nowy.png" alt="Create a new doc" title="Create a new doc" /></a></td></tr></table>

<br />
<p>Let us activate the grid then (menu <strong>View</strong> -> <strong>Show Grid</strong>), it will help us to correctly locate our form fields on the page. We need some text frames to make a nice title and field descriptions - a few clicks on the <strong>[ab]</strong> icon and all the text frames are there in no time.</p>

<table width="100%"><tr><td align="center"><img src="images/siatka_menu.png" border="0" alt="null" /></td></tr></table>

<p>Having filled our frames with text, we can change their properties with the <strong>Properties</strong> palette, which can be found in the <strong>Tools</strong> menu.</p>

<table width="100%"><tr><td align="center"><img src="images/siatka_jednostki_miar.png"  alt="" /></td></tr></table>


<br />

<div>Now we can start adding form elements: some text fields and one button for submitting our form to an URL. To add a field simply click on the arrow on the right side of the <strong>OK</strong> icon and select a type from the displayed options: button, text field, check box, combo box, and list box.</div>

<br />
<table width="100%"><tr><td align="center"><img src="images/symbole.png" alt="null" /></td></tr></table>

<p>The current active element of the form has a red frame border; you can activate an element in choosing the "Select" icon (the one with crossed arrows) and clicking on the item to be chosen.</p>
<br />

<table width="100%"><tr><td align="center"><img src="images/ulica.png" alt="null" /></td></tr></table>

<br />
 
<p>The right click on an element activates a new menu. We choose <strong>Field Properties</strong> and define field names (we will need the field names in our PHP script, to which we'll send the form), types (e.g., number, time, date), and actions to be performed on different events (Mouse Enter, Mouse Exit, On Blur, and so on).</p>

<br /><br />

<table width="100%"><tr><td align="center"><img src="images/wlasciwosci_pola.png" alt="null"  border="0" /></td></tr></table>

<br />

<p>Here we are defining the <strong>No</strong> field as a number. Acrobat Reader won't accept anything else as a valid entry, then.</p>

<br />

<table width="100%"><tr><td align="center"><img src="images/formularz_pole_num.png" border="0" alt="null" /></td></tr></table>

<br />

<p>Here, we are defining a custom validation script for the <strong>Name</strong> field - after changing the field contents there will be a beep sound and an alert will be showed (not very sophisticated, I know, but it still demonstrates the possibilities of PDF). Scribus has its own simple text editor, which enables us to save the script to a separate file. Custom scripts can be defined not only on the form field level, but as global scripts as well (<strong>Edit</strong> -&#062; <strong>JavaScripts</strong>).</p>

<br />

<table width="100%"><tr><td align="center"><img src="images/formularz_js_skrypt.png" alt="null" /></td></tr></table>
<br />

<p>After saving the script and closing the editor, the script contents is shown in the <strong>Field Properties</strong>.</p>
<br />

<table width="100%"><tr><td align="center"><img src="images/formularz_js_sprawdzanie.png" border="0" alt="null" /></td></tr></table>

<br />

<p>We have still to define, to which URL the form contents will be sent (there is a simple PHP script at the destination address, which will format and display the received form data). We choose in the button properties as the action type <strong>Submit form</strong> and enter the address of our PHP script: <strong>scribus_test.php</strong>. We match the <strong>Submit Data as HTML</strong> option to end with (the other option would be the FDF data, but this is a very different story) and we are done now.</p>

<br />

<table width="100%"><tr><td align="center"><img src="images/wyslij_formularz.png" alt="null" /></td></tr></table>

<br />

<p>The only thing else to do is to export the document to PDF: menu <strong>File -&#062; Export... -&#062;; Export to PDF...</strong>.<br />We select <strong>Acrobat 5.0</strong> as the file format and save the file.</p>

<br />
<table width="100%"><tr><td align="center"><img src="images/formularz_export_PDF.png" border="0" alt="null" /></td></tr></table>
<br />

<p>The result of our work can be downloaded from http://docs.scribus.net and tested. In order to submit the form we must open it from within a browser, Netscape 4.* or Mozilla are the safe choices (check the Mozilla plug-ins to see, if the Acrobat Reader plug-in is enabled. If not, you have to symlink it into the Mozilla's plug-in directory. In my particular case, the Mozilla's plug-in directory is  <strong>/usr/lib/mozilla-1.3/plug-in</strong>, and the plug-in to be symlinked into it is <strong>/usr/local/Acrobat5/Browsers/intellinux/nppdf.so</strong>).</p>

<p><strong>My very own impression:</strong> Scribus as a tool for working with PDF forms seems to be more comfortable in use than Adobe Acrobat 5.0 (the only version, I've worked with). It's a lot easier to layout documents with Scribus, since Acrobat only allows you to edit existing documents, but not to create a new document from  scratch. Scribus provides us with the full control over the final results and allows us much more freedom in changing the document's layout. More over, Scribus files can be edited even with a simple text editor, since its file format is entirely XML
based.</p>
<p><em>Maciej Hanski</em> - 22:10:2003</p>

<p><strong>Some useful PDF/JavaScript Links:</strong></p>
<ul>
	<li><a href="http://www.planetpdf.com/mainpage.asp?WebPageID=229" target="_blank">Planet PDF</a></li>
	<li><a href="http://partners.adobe.com/asn/developer/pdfs/tn/5186AcroJS.pdf" target="_blank">Acrobat JavaScript Object Specification</a></li>
	<li><a href="http://ahnews.music.salford.ac.uk/scribus/documentation/pdfs/javascriptpdfa4.pdf" target="_blank">JavaScript and Scribus</a></li>
</ul>

<p><strong>Some useful CGI/PHP links:</strong></p>
<ul>
	<li><a href="http://www.cgi101.com/book/ch4/text.html">http://www.cgi101.com/book/ch4/text.html</a></li>
	<li><a href="http://www.cgi101.com/book/ch4/post-cgi.html">http://www.cgi101.com/book/ch4/post-cgi.html</a></li>
	<li><a href="http://www.mkaz.com/reference/php/setup_linux.html">http://www.mkaz.com/reference/php/setup_linux.html</a></li>
</ul>

</qt>