1<?php
2// $Header: /cvsroot/html2ps/demo/index.php,v 1.5 2007/05/06 18:49:30 Konstantin Exp $
3  require_once('../config.inc.php');
4?>
5
6<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
7    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
9<head>
10
11<script language="javascript" type="text/javascript">
12
13String.prototype.trim = function() {
14        var x=this;
15        x=x.replace( /^\s*/, "" );
16        x=x.replace( /\s*$/, "" );
17        return x;
18}
19
20function validate() {
21        var formobj = document.forms[0];
22        var urlval = formobj.URL.value.trim();
23
24        if ( !isValidURL( urlval ) ) {
25                alert( 'Please input a valid URL.' );
26                return false;
27        }
28
29        return true;
30}
31
32function isValidURL(url) {
33
34        if ( url == null )
35                return false;
36
37// space extr
38        var reg='^ *';
39//protocol
40        reg = reg+'(?:([Hh][Tt][Tt][Pp](?:[Ss]?))(?:\:\\/\\/))?';
41//usrpwd
42        reg = reg+'(?:(\\w+\\:\\w+)(?:\\@))?';
43//domain
44        reg = reg+'([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|localhost|([Ww][Ww][Ww].|[a-zA-Z0-9].)?[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,6})';
45//port
46        reg = reg+'(\\:\\d+)?';
47//path
48        reg = reg+'((?:\\/.*)*\\/?)?';
49//filename
50        reg = reg+'(.*?\\.(\\w{2,4}))?';
51//qrystr
52        reg = reg+'(\\?(?:[^\\#\\?]+)*)?';
53//bkmrk
54        reg = reg+'(\\#.*)?';
55// space extr
56        reg = reg+' *$';
57
58        return url.match(new RegExp(reg, 'i'));
59}
60</script>
61
62<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
63<title>HTML2PS/PDF</title>
64
65<!--CSS file may be preferred as external file-->
66
67<style type="text/css">
68/* standard tag styles */
69body {
70        color:#000;
71        background-color:#fff;
72        margin:10px;
73        font-family:arial, helvetica, sans-serif;
74        color:#000;
75        font-size:12px;
76        line-height:18px;
77}
78p {
79  color:#000;
80  font-size:12px;
81  line-height:18px;
82  margin-top:3px;
83 }
84 h1 {
85        font-family:arial, helvetica, sans-serif;
86        color:#669;
87        font-size:27px;
88        letter-spacing:-1px;
89        margin-top:12px;
90        margin-bottom:12px;
91}
92input,textarea,select {
93        background-color:#eeeeee;
94        border: 1px solid #045564;
95}
96textarea {
97 width: 290px;
98 height: 150px;
99}
100img {
101        border:0px;
102}
103fieldset {
104        border: #26a solid 1px;
105        margin-left:10px;
106        padding-bottom:0px;
107        padding-top:0px;
108        margin-top:10px;
109}
110legend {
111        background: #eee;
112        border: #26a solid 1px;
113        padding: 1px 10px;
114        font-weight:bold;
115}
116/* special class/styles */
117.submit {
118        background-color:#669;
119        color:#fff;
120}
121.nulinp {
122        border:0px;
123        background-color:#fff;
124}
125.hand {
126        cursor: pointer;
127}
128/* forms formatting */
129div.form-row {
130        clear: both;
131        padding-top: 5px;
132}
133div.form-row span.labl {
134        float: left;
135        width: 160px;
136        text-align: right;
137}
138div.form-row span.formw {
139        float: right;
140        width: 300px;
141        text-align: left;
142}
143div.spacer {
144        clear: both;
145}
146div.comment {
147  line-height: 1.1em;
148}
149</style>
150</head>
151<body>
152<h1>html2ps/pdf demo (v <?php echo HTML2PS_VERSION_MAJOR ?>.<?php echo HTML2PS_VERSION_MINOR ?>.<?php echo HTML2PS_SUBVERSION ?>)</h1>
153
154<p><a target="_blank" href="http://www.cs.wisc.edu/~ghost/" title="More about GhostView - [new window]">GhostView</a> can be used to read PostScript files, and <a target="_blank"  href="http://www.adobe.com/products/acrobat/readstep2.html" title="Download Adobe Acrobat - [new window]">Adobe Acrobat Reader</a> can be used to read PDF files.</p>
155<p>See also:
156<ul>
157<li><a target="_blank" href="../help/index.html" title="Table of contents - [new window]">html2ps/pdf documentation</a></li>
158<li><a href="systemcheck.php">System requirements checking script</a></li>
159</ul>
160</p>
161
162<div style="width:500px;">
163<form action="html2ps.php" method="get" style="margin-top:12px">
164<fieldset>
165<legend>&nbsp;Source&nbsp;</legend>
166
167<div class="form-row">
168<label class="hand" for="ur"><span class="labl">Single URL <input type="radio" class="nulinp" name="process_mode" value="single" checked="checked"/>: </span></label>
169<span class="formw">
170<input type="text" tabindex="1" id="ur" name="URL" size="30" value="www.google.com"/>
171</span>
172</div>
173
174<div class="form-row">
175<label class="hand" for="ur"><span class="labl">Batch mode  <input type="radio" class="nulinp" name="process_mode" value="batch"/>: </span></label>
176<span class="formw">
177<input type="text" tabindex="1" name="batch[]" size="30" value="www.google.com"/><br/>
178<input type="text" tabindex="1" name="batch[]" size="30" value="www.altavista.com"/><br/>
179<input type="text" tabindex="1" name="batch[]" size="30" value="www.msn.com"/><br/>
180<input type="text" tabindex="1" name="batch[]" size="30" value="www.msn.com"/><br/>
181</span>
182</div>
183
184<div class="form-row">
185<label class="hand" for="ur"><span class="labl">Use proxy: </span></label>
186<span class="formw">
187<input type="text" tabindex="1" name="proxy" size="30" value=""/><br/>
188</span>
189</div>
190
191<div class="spacer"></div><br />
192</fieldset>
193
194<fieldset>
195<legend>&nbsp;Format Requirements&nbsp;</legend>
196<div class="form-row">
197<label class="hand" for="pixel">
198<span class="labl"><a href="../help/calling.html#pixels" title="Read description of 'pixels' parameter">Page width [pixels]</a></span></label>
199<span class="formw">
200<select name="pixels" id="pixel">
201<option value="640">640</option>
202<option value="800">800</option>
203<option value="1024" selected="selected">1024</option>
204<option value="1280">1280</option>
205</select>
206</span>
207</div>
208
209<div class="form-row">
210<label class="hand" for="scalepoint"><span class="labl"><a href="../help/calling.html#scalepoints" title="Read description of 'scalepoints' parameter">Keep screen pixel/point ratio</a></span></label>
211<span class="formw">
212<input class="nulinp" type="checkbox" name="scalepoints" value="1" checked="checked" id="scalepoint"/>
213</span>
214</div>
215
216<div class="form-row">
217<label class="hand" for="renderi"><span class="labl"><a href="../help/calling.html#renderimages" title="Read description of 'renderimages' parameter">Render images</a></span></label>
218<span class="formw">
219 <input class="nulinp" type="checkbox" name="renderimages" value="1" checked="checked" id="renderi"/>
220</span>
221</div>
222
223<div class="form-row">
224<label class="hand" for="renderi"><span class="labl"><a href="../help/calling.html#renderlinks" title="Read description of 'renderlinks' parameter">Render hyperlinks</a></span></label>
225<span class="formw">
226 <input class="nulinp" type="checkbox" name="renderlinks" value="1" checked="checked" id="renderl"/>
227</span>
228</div>
229
230<div class="form-row">
231<label class="hand" for="renderf"><span class="labl"><a href="../help/calling.html#renderforms" title="Read description of 'renderforms' parameter">Interactive forms</a></span></label>
232<span class="formw">
233<input class="nulinp" type="checkbox" name="renderforms" value="1" id="renderl"/><sup style="color: red">FPDF/PDFLIB <em>1.6</em> output only!</sup>
234</span>
235</div>
236
237<div class="form-row">
238<label class="hand" for="renderi"><span class="labl"><a href="../help/calling.html#renderfields" title="Read description of 'renderfields' parameter">Substitute special fields</a></span></label>
239<span class="formw">
240 <input class="nulinp" type="checkbox" name="renderfields" value="1" checked="checked" id="renderl"/>
241</span>
242</div>
243
244<div class="form-row">
245<label class="hand" for="medi"><span class="labl"><a href="../help/calling.html#media" title="Read description of 'renderforms' parameter">Media</a></span></label>
246<span class="formw">
247<select name="media" id="medi">
248<!--Can use php here to obtain predefined media types OR leave as is-->
249<option value="Letter" selected="selected">Letter</option>
250<option value="Legal">Legal</option>
251<option value="Executive">Executive</option>
252<option value="A0Oversize">A0Oversize</option>
253<option value="A0">A0</option>
254<option value="A1">A1</option>
255<option value="A2">A2</option>
256<option value="A3">A3</option>
257<option value="A4">A4</option>
258<option value="A5">A5</option>
259<option value="B5">B5</option>
260<option value="Folio">Folio</option>
261<option value="A6">A6</option>
262<option value="A7">A7</option>
263<option value="A8">A8</option>
264<option value="A9">A9</option>
265<option value="A10">A10</option>
266<option value="Screenshot640">Image 640&times;480</option>
267<option value="Screenshot800">Image 800&times;600</option>
268<option value="Screenshot1024">Image 1024&times;768</option>
269<!--end php predefined media options if used-->
270</select>
271</span>
272</div>
273
274<div class="form-row">
275<label class="hand" for="cssmedia"><span class="labl"><a href="../help/calling.html#renderforms" title="Read description of 'cssmedia' parameter">CSS Media</a></span></label>
276<span class="formw">
277<select name="cssmedia" id="cssmedia">
278<option value="handheld">Handheld</option>
279<option value="print">Print</option>
280<option value="projection">Projection</option>
281<option value="Screen" selected="selected">Screen</option>
282<option value="tty">TTY</option>
283<option value="tv">TV</option>
284</select>
285</span>
286</div>
287
288<div class="form-row">
289<label class="hand" for="lm"><span class="labl"><a href="../help/calling.html#margins" title="Read description of 'leftmargin' parameter">Left margin:mm</a></span></label>
290<span class="formw">
291<input id="lm" type="text" size="3" name="leftmargin" value="30"/>
292</span>
293</div>
294
295<div class="form-row">
296<label class="hand" for="rm"><span class="labl"><a href="../help/calling.html#margins" title="Read description of 'rightmargin' parameter">Right margin:mm</a></span></label>
297<span class="formw">
298<input id="rm" type="text" size="3" name="rightmargin" value="15"/>
299</span>
300</div>
301
302<div class="form-row">
303<label class="hand" for="tm"><span class="labl"><a href="../help/calling.html#margins" title="Read description of 'topmargin' parameter">Top margin:mm</a></span></label>
304<span class="formw">
305<input id="tm" type="text" size="3" name="topmargin" value="15"/>
306</span>
307</div>
308<div class="form-row">
309<label class="hand" for="bm"><span class="labl"><a href="../help/calling.html#margins" title="Read description of 'bottommargin' parameter">Bottom margin:mm</a></span></label>
310<span class="formw">
311<input id="bm" type="text" size="3" name="bottommargin" value="15"/>
312</span>
313</div>
314
315<div class="form-row">
316<label class="hand" for="automargins"><span class="labl">Auto-size vertical margins</span></label>
317<span class="formw">
318<input id="automargins" class="nulinp" type="checkbox" name="automargins" value="1"/>
319</span>
320</div>
321
322<div class="form-row">
323<label class="hand" for="landsc"><span class="labl"><a href="../help/calling.html#landscape" title="Read description of 'landscape' parameter">Landscape</a></span></label>
324<span class="formw">
325<input id="landsc" class="nulinp" type="checkbox" name="landscape" value="1"/>
326</span>
327</div>
328
329<div class="form-row">
330<label class="hand" for="encod"><span class="labl"><a href="../help/calling.html#encoding" title="Read description of 'encoding' parameter">Encoding</a></span></label>
331<span class="formw">
332<select id="encod" name="encoding">
333<option value="" selected="selected">Autodetect</option>
334<option value="utf-8">utf-8</option>
335<option value="iso-8859-1">iso-8859-1</option>
336<option value="iso-8859-2">iso-8859-2</option>
337<option value="iso-8859-3">iso-8859-3</option>
338<option value="iso-8859-4">iso-8859-4</option>
339<option value="iso-8859-5">iso-8859-5</option>
340<option value="iso-8859-6">iso-8859-6</option>
341<option value="iso-8859-7">iso-8859-7</option>
342<option value="iso-8859-9">iso-8859-9</option>
343<option value="iso-8859-10">iso-8859-10</option>
344<option value="iso-8859-11">iso-8859-11</option>
345<option value="iso-8859-13">iso-8859-13</option>
346<option value="iso-8859-14">iso-8859-14</option>
347<option value="iso-8859-15">iso-8859-15</option>
348<option value="windows-1250">windows-1250</option>
349<option value="windows-1251">windows-1251</option>
350<option value="windows-1252">windows-1252</option>
351<option value="koi8-r">koi8-r</option>
352</select>
353</span>
354</div>
355<div class="spacer"></div><br />
356</fieldset>
357
358<fieldset>
359<legend>&nbsp;Content generation&nbsp;</legend>
360<div class="form-row">
361<label class="hand" for="header">
362<span class="labl"><a href="../help/calling.html#headerhtml">Header</a></span></label>
363<span class="formw">
364<textarea name="headerhtml" id="header">
365</textarea>
366</span>
367</div>
368
369<div class="form-row">
370<label class="hand" for="footer">
371<span class="labl"><a href="../help/calling.html#footerhtml">Footer</a></span></label>
372<span class="formw">
373<textarea name="footerhtml" id="footer">
374</textarea>
375</span>
376</div>
377
378<div class="form-row">
379<label class="hand" for="watermark">
380<span class="labl"><a href="../help/calling.html#watermarkhtml" title="Read description of 'watermarkhtml' parameter">Watermark</a></span></label>
381<span class="formw">
382<textarea name="watermarkhtml" id="watermark">
383</textarea>
384<div class="comment">
385Note that watermarking is not supported by some output drivers; currently you may place &quot;watermarks&quot;
386using FPDF and PDFLIB output only.
387</div>
388</span>
389</div>
390
391<div class="form-row">
392<label class="hand" for="toc">
393<span class="labl">Table of contents</span></label>
394<span class="formw">
395<input type="checkbox" value="1" name="toc"/>
396</span>
397</div>
398
399<div class="form-row">
400<label class="hand" for="toc-location">
401<span class="labl">Place TOC at:</span></label>
402<span class="formw">
403<select id="toc-location" name="toc-location">
404<option value="before">first page</option>
405<option value="after">last page</option>
406<option value="placeholder">placeholder</option>
407</select>
408</span>
409</div>
410
411<div class="spacer"></div><br />
412</fieldset>
413
414<fieldset>
415<legend>&nbsp;Debugging&nbsp;</legend>
416<div class="form-row">
417<label class="hand" for="pageborder"><span class="labl"><a href="../help/calling.html#pageborder" title="Read description of 'pageborder' parameter">Show page border</a></span></label>
418<span class="formw">
419<input id="pageborder" class="nulinp" type="checkbox" name="pageborder" value="1"/>
420</span>
421</div>
422
423<div class="form-row">
424<label class="hand" for="debugbox"><span class="labl"><a href="../help/calling.html#debugbox" title="Read description of 'debugbox' parameter">Show content boxes</a></span></label>
425<span class="formw">
426<input id="debugbox" class="nulinp" type="checkbox" name="debugbox" value="1"/>
427</span>
428</div>
429
430<div class="form-row">
431<label class="hand" for="debugnoclip"><span class="labl">Disable clipping</span></label>
432<span class="formw">
433<input id="debugnoclip" class="nulinp" type="checkbox" name="debugnoclip" value="1"/>
434</span>
435</div>
436
437<div class="form-row">
438<label class="hand" for="debugbox"><span class="labl">Use "smart" pagebreaking algorithm</span></label>
439<span class="formw">
440<input id="debugbox" class="nulinp" type="checkbox" name="smartpagebreak" checked="checked" value="1"/>
441</span>
442</div>
443
444<div class="spacer"></div><br />
445</fieldset>
446
447<fieldset>
448<legend>&nbsp;File Requirements&nbsp;</legend>
449<div class="form-row">
450<label class="hand" for="ps"><span class="labl">Output</span></label>
451<span class="formw">
452<input class="nulinp" type="radio" id="ps" name="method" value="fastps"/>PostScript&nbsp;&nbsp;
453<select name="pslevel">
454<option value="2">Level 2</option>
455<option value="3" selected="selected">Level 3</option>
456</select>
457<label for="pdf">&nbsp;</label>
458<br /><input class="nulinp" type="radio" id="pdf" name="method" value="pdflib" />PDF (PDFLIB)
459<br /><input class="nulinp" type="radio" id="pdf" name="method" value="fpdf" checked="checked"/>PDF (FPDF)
460<br /><input class="nulinp" type="radio" id="png" name="method" value="png"/>Image (PNG) <span style="color: red; vertical-align: super; font-size: smaller;">beta</span>
461<!--<br /><input class="nulinp" type="radio" id="png" name="method" value="pcl"/>PCL <span style="color: red; vertical-align: super; font-size: smaller;">alpha</span>-->
462</span>
463</div>
464
465<div class="form-row">
466<label class="hand" for="ps"><span class="labl">PDF compatilbility level:</span></label>
467<span class="formw">
468<select name="pdfversion">
469<option value="1.2">PDF 1.2 (NOT supported by PDFLIB!)</b></option>
470<option value="1.3" selected="selected">PDF 1.3 (Acrobat Reader 4)</option>
471<option value="1.4">PDF 1.4 (Acrobat Reader 5)</option>
472<option value="1.5">PDF 1.5 (Acrobat Reader 6)</option>
473</select>
474<br/>
475Note: not all output methods support all PDF compatibility levels!
476</span>
477</div>
478
479<div class="form-row">
480<label class="hand" for="towher"><span class="labl">Destination</span></label>
481<span class="formw">
482<input class="nulinp" type="radio" id="towher" name="output" value="0" checked="checked" />Browser (PDF will be opened in browser, Postsript will be downloaded)&nbsp;<label for="towher1">&nbsp;&nbsp;&nbsp;</label>
483<br /><input class="nulinp" type="radio" id="towher1" name="output" value="1" />Browser (download as file)
484<br /><input class="nulinp" type="radio" id="towher2" name="output" value="2" />File on server
485</span>
486</div>
487
488<div class="form-row">
489<label class="hand" for="compr"><span class="labl">Filters</span></label>
490<span class="formw">
491<input class="nulinp" type="checkbox" id="compr" name="ps2pdf"   value="1"/>Convert Postscript to PDF<label for="compr1">&nbsp;&nbsp;</label><br />
492<input class="nulinp" type="checkbox" id="compr" name="compress" value="1"/>
493Compress output file using GZIP<label for="compr1">&nbsp;&nbsp;</label>
494<div class="comment">
495<span style="color: red;">Don't use this option with PDF output</span>,
496as Acrobat Reader will treat compressed file as damaged.
497</div>
498<br />
499</span>
500</div>
501
502<div class="form-row">
503<label class="hand" for="transparency_workaround"><span class="labl">Hacks &amp; Workarounds</span></label>
504<span class="formw">
505<input class="nulinp" type="checkbox" id="transparency_workaround" name="transparency_workaround" value="1" />Use PS2PDF transparency problem workaround <br/>
506<input class="nulinp" type="checkbox" id="imagequality_workaround" name="imagequality_workaround" value="1" />Use PS2PDF image quality problem workaround<br/>
507(leave these options disabled if you have no problems with generated files)
508</span>
509</div>
510
511<div class="form-row">
512&nbsp;
513<span class="formw">
514<!-- <input class="submit" type="submit" value="Download File (debugging only)" /> -->
515<input class="submit" type="reset"  name="reset"  value="Reset to defaults" />
516&nbsp;
517<input class="submit" type="submit" name="convert" onClick="javascript: return validate();" value="Convert File" />
518</span>
519</div>
520<div class="spacer"></div><br />
521</fieldset>
522</form>
523</div>
524
525<p>html2ps is free and open-source for commercial and non-commercial use. <a target=_blank href="http://www.tufat.com/html2ps.php" title="More about html2ps">Read more about html2ps</a>.</p>
526
527<p><a target=_blank href="https://www.paypal.com/xclick/business=g8z@yahoo.com&item_name=html2ps+donation&no_shipping=1&currency_code=USD">Donate to the html2ps project</a></p>
528
529<hr/>
530&copy; 2005&ndash;2009 Darren Gates, Konstantin Bournayev
531
532
533</body>
534</html>