[3019] | 1 | <?php include("head.inc"); ?> |
---|
| 2 | <div id="toc"> |
---|
| 3 | <h2>On this page:</h2> |
---|
| 4 | <ul> |
---|
| 5 | <?php echo li_arrow() ?><a href="#usage">Usage</a></li> |
---|
| 6 | <ul><?php echo li_arrow() ?><a href="#web">Invoking via the web</a></li> |
---|
| 7 | <?php echo li_arrow() ?><a href="#cli">Invoking via the command line</a></li> |
---|
| 8 | <?php echo li_arrow() ?><a href="#class">Using the dompdf class directly</a></li> |
---|
| 9 | <?php echo li_arrow() ?><a href="#method_summary">dompdf class reference</a></li> |
---|
| 10 | </ul> |
---|
| 11 | <?php echo li_arrow() ?><a href="#inline">Inline PHP support</a></li> |
---|
| 12 | </ul> |
---|
| 13 | </div> |
---|
| 14 | |
---|
| 15 | <a name="usage"> </a> |
---|
| 16 | <h2>Usage</h2> |
---|
| 17 | |
---|
| 18 | <p>The dompdf.php script included in the distribution can be used both from |
---|
| 19 | the <a href="#cli">command line</a> or via a <a href="#web">web browser</a>. |
---|
| 20 | Alternatively, the dompdf class can be used <a href="#class">directly</a>.</p> |
---|
| 21 | |
---|
| 22 | <a name="web"> </a> |
---|
| 23 | <h3>Invoking dompdf via the web</h3> |
---|
| 24 | |
---|
| 25 | <p>The dompdf.php script is not intended to be an interactive page. It |
---|
| 26 | receives input parameters via $_GET and can stream a PDF directly to the |
---|
| 27 | browser. This makes it possible to embed links to the script in a page that |
---|
| 28 | look like static PDF links, but are actually dynamically generated. This |
---|
| 29 | method is also useful as a redirection target.</p> |
---|
| 30 | |
---|
| 31 | <p>dompdf.php accepts the following $_GET variables:</p> |
---|
| 32 | |
---|
| 33 | <table> |
---|
| 34 | <tr><td class="bar1" colspan="3"> </td></tr> |
---|
| 35 | <tr> |
---|
| 36 | <td class="input">input_file</td> <td>required</td> |
---|
| 37 | |
---|
| 38 | <td class="description">a rawurlencoded() path to the HTML file to process. Remote files |
---|
| 39 | (http/ftp) are supported if fopen wrappers are enabled.</td> |
---|
| 40 | </tr> |
---|
| 41 | |
---|
| 42 | <tr> |
---|
| 43 | <td class="input">paper</td> <td>optional</td> |
---|
| 44 | |
---|
| 45 | <td class="description">the paper size. Defaults to 'letter' (unless the default has been |
---|
| 46 | changed in dompdf_config.inc.php). See include/pdf_adapter.cls.php, or |
---|
| 47 | invoke dompdf.php on the command line with the -l switch for accepted paper |
---|
| 48 | sizes.</td> |
---|
| 49 | </tr> |
---|
| 50 | |
---|
| 51 | <tr> |
---|
| 52 | <td class="input">orientation</td> <td>optional</td> |
---|
| 53 | <td class="description">'portrait' or 'landscape'. Defaults to 'portrait'.</td> |
---|
| 54 | </tr> |
---|
| 55 | |
---|
| 56 | <tr> |
---|
| 57 | <td class="input">base_path</td> <td>optional</td> |
---|
| 58 | |
---|
| 59 | <td class="description">the base path to use when resolving relative links (images or CSS |
---|
| 60 | files). Defaults to the directory containing the file being accessed. |
---|
| 61 | (This option is useful for pointing dompdf at your CSS files even though the |
---|
| 62 | HTML file may be elsewhere.)</td> |
---|
| 63 | </tr> |
---|
| 64 | |
---|
| 65 | <tr> |
---|
| 66 | <td class="input">output_file</td> <td>optional</td> |
---|
| 67 | |
---|
| 68 | <td class="description">the rawurlencoded() name of the output file. Defaults to 'dompdf_out.pdf'.</td> |
---|
| 69 | </tr> |
---|
| 70 | |
---|
| 71 | <tr> |
---|
| 72 | <td class="input">save_file</td> <td>optional</td> |
---|
| 73 | |
---|
| 74 | <td class="description">If present (i.e. <code>isset($_GET["save_file"]) == true');</code>), |
---|
| 75 | output_file is saved locally, Otherwise the file is streamed directly to the client.</td> |
---|
| 76 | </tr> |
---|
| 77 | |
---|
| 78 | <tr><td class="bar2" colspan="3"> </td></tr> |
---|
| 79 | </table> |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | <p>One technique for generating dynamic PDFs is to generate dynamic HTML as you |
---|
| 83 | normally would, except instead of displaying the output to the browser, you |
---|
| 84 | use output buffering and write the output to a temporary file. Once this |
---|
| 85 | file is saved, you redirect to the dompdf.php script. If you use a |
---|
| 86 | templating engine like Smarty, you can simply do:</p> |
---|
| 87 | |
---|
| 88 | |
---|
| 89 | <pre> |
---|
| 90 | <?php |
---|
| 91 | $tmpfile = tempnam("/tmp", "dompdf_"); |
---|
| 92 | file_put_contents($tmpfile, $smarty->fetch()); // Replace $smarty->fetch() |
---|
| 93 | // with your HTML string |
---|
| 94 | |
---|
| 95 | $url = "dompdf.php?input_file=" . rawurlencode($tmpfile) . |
---|
| 96 | "&paper=letter&output_file=" . rawurlencode("My Fancy PDF.pdf"); |
---|
| 97 | |
---|
| 98 | header("Location: http://" . $_SERVER["HTTP_HOST"] . "/$url"); |
---|
| 99 | ?> |
---|
| 100 | </pre> |
---|
| 101 | |
---|
| 102 | <p>If you use any stylesheets, you may need to provide the |
---|
| 103 | <code>base_path</code> option to tell dompdf where to look for them, as they |
---|
| 104 | are not likely relative to /tmp ;).</p> |
---|
| 105 | |
---|
| 106 | |
---|
| 107 | <a name="cli"> </a> |
---|
| 108 | <h3>Invoking dompdf via the command line</h3> |
---|
| 109 | |
---|
| 110 | <p>You can execute dompdf.php using the following command:</p> |
---|
| 111 | |
---|
| 112 | <pre>$ php -f dompdf.php -- [options]</pre> |
---|
| 113 | |
---|
| 114 | <p>(If you find yourself using only the cli interface, you can add |
---|
| 115 | <code>#!/usr/bin/php</code> as the first line of dompdf.php to invoke dompdf.php |
---|
| 116 | directly.)</p> |
---|
| 117 | |
---|
| 118 | <p>dompdf.php is invoked as follows:</p> |
---|
| 119 | |
---|
| 120 | <table> |
---|
| 121 | <tr><td class="bar1" colspan="2"> </td></tr> |
---|
| 122 | <tr> |
---|
| 123 | <td colspan="2" class="input">$ ./dompdf.php [options] html_file</td> |
---|
| 124 | </tr> |
---|
| 125 | |
---|
| 126 | <tr> |
---|
| 127 | <td colspan="2"><code>html_file</code> can be a filename, a url if |
---|
| 128 | fopen_wrappers are enabled, or the '-' character to read from standard input.</td> |
---|
| 129 | </tr> |
---|
| 130 | |
---|
| 131 | <tr> |
---|
| 132 | <td class="input">-h</td> |
---|
| 133 | <td class="description">Show a brief help message</td> |
---|
| 134 | </tr> |
---|
| 135 | |
---|
| 136 | <tr> |
---|
| 137 | <td class="input">-l</td> |
---|
| 138 | <td class="description">list available paper sizes</td> |
---|
| 139 | </tr> |
---|
| 140 | |
---|
| 141 | <tr> |
---|
| 142 | <td class="input">-p size</td> |
---|
| 143 | <td class="description">paper size; something like 'letter', 'A4', 'legal', etc. Thee default is 'letter'</td> |
---|
| 144 | </tr> |
---|
| 145 | |
---|
| 146 | <tr> |
---|
| 147 | <td class="input">-o orientation</td> |
---|
| 148 | <td class="description">either 'portrait' or 'landscape'. Default is 'portrait'.</td> |
---|
| 149 | </tr> |
---|
| 150 | |
---|
| 151 | <tr> |
---|
| 152 | <td class="input">-b path</td> |
---|
| 153 | |
---|
| 154 | <td class="description">the base path to use when resolving relative links |
---|
| 155 | (images or CSS files). Default is the directory of html_file.</td> |
---|
| 156 | </tr> |
---|
| 157 | |
---|
| 158 | <tr> |
---|
| 159 | <td class="input">-f file</td> |
---|
| 160 | <td class="description">the output filename. Default is the input <code>[html_file].pdf</code>.</td> |
---|
| 161 | </tr> |
---|
| 162 | |
---|
| 163 | <tr> |
---|
| 164 | <td class="input">-v</td> |
---|
| 165 | <td class="description">verbose: display html parsing warnings and file not found errors.</td> |
---|
| 166 | </tr> |
---|
| 167 | |
---|
| 168 | <tr> |
---|
| 169 | <td class="input">-d</td> |
---|
| 170 | |
---|
| 171 | <td class="description">very verbose: display oodles of debugging output; |
---|
| 172 | every frame in the tree is printed to stdout.</td> |
---|
| 173 | </tr> |
---|
| 174 | <tr><td class="bar2" colspan="2"> </td></tr> |
---|
| 175 | |
---|
| 176 | </table> |
---|
| 177 | |
---|
| 178 | <p>Examples:</p> |
---|
| 179 | |
---|
| 180 | <pre> |
---|
| 181 | $ php -f dompdf.php -- my_resume.html |
---|
| 182 | $ ./dompdf.php -b /var/www/ ./web_stuff/index.html |
---|
| 183 | $ echo '<html><body>Hello world!</body></html>' | ./dompdf.php - |
---|
| 184 | </pre> |
---|
| 185 | |
---|
| 186 | |
---|
| 187 | <a name="class"> </a> |
---|
| 188 | <h3>Using the dompdf class directly</h3> |
---|
| 189 | |
---|
| 190 | <p>Using the dompdf class directly is fairly straightforward: |
---|
| 191 | <pre> |
---|
| 192 | <?php |
---|
| 193 | require_once("dompdf_config.inc.php"); |
---|
| 194 | |
---|
| 195 | $html = |
---|
| 196 | '<html><body>'. |
---|
| 197 | '<p>Put your html here, or generate it with your favourite '. |
---|
| 198 | 'templating system.</p>'. |
---|
| 199 | '</body></html>'; |
---|
| 200 | |
---|
| 201 | $dompdf = new DOMPDF(); |
---|
| 202 | $dompdf->load_html($html); |
---|
| 203 | $dompdf->render(); |
---|
| 204 | $dompdf->stream("sample.pdf"); |
---|
| 205 | |
---|
| 206 | ?> |
---|
| 207 | </pre></p> |
---|
| 208 | |
---|
| 209 | <p>Below is a summary of the methods available in the dompdf class. For complete details, |
---|
| 210 | see the <a href="http://www.digitaljunkies.ca/dompdf/doc/">API |
---|
| 211 | documentation</a> for the class interface definition.</p> |
---|
| 212 | |
---|
| 213 | <a name="method_summary"> </a> |
---|
| 214 | <h3>Method Summary</h3> |
---|
| 215 | <ul class="method-summary"> |
---|
| 216 | <?php echo li_arrow() ?><span class="method-result">DOMPDF</span> <a href="#method__construct">__construct</a>()</li> |
---|
| 217 | <?php echo li_arrow() ?><span class="method-result">string</span> <a href="#methodget_base_path">get_base_path</a>()</li> |
---|
| 218 | <?php echo li_arrow() ?><span class="method-result">string</span> <a href="#methodget_host">get_host</a>()</li> |
---|
| 219 | <?php echo li_arrow() ?><span class="method-result">string</span> <a href="#methodget_protocol">get_protocol</a>()</li> |
---|
| 220 | <?php echo li_arrow() ?><span class="method-result">Frame_Tree</span> <a href="#methodget_tree">get_tree</a>()</li> |
---|
| 221 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodload_html">load_html</a>(<span class="var-type">string</span> <span class="var-name">$str</span>)</li> |
---|
| 222 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodload_html_file">load_html_file</a>(<span class="var-type">string</span> <span class="var-name">$file</span>)</li> |
---|
| 223 | <?php echo li_arrow() ?><span class="method-result">string</span> <a href="#methodoutput">output</a>()</li> |
---|
| 224 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodrender">render</a>()</li> |
---|
| 225 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodset_base_path">set_base_path</a>(<span class="var-type">string</span> <span class="var-name">$path</span>)</li> |
---|
| 226 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodset_host">set_host</a>(<span class="var-type">string</span> <span class="var-name">$host</span>)</li> |
---|
| 227 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodset_paper">set_paper</a>(<span class="var-type">string</span> <span class="var-name">$size</span>, [<span class="var-type">string</span> <span class="var-name">$orientation</span> = "portrait"])</li> |
---|
| 228 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodset_protocol">set_protocol</a>(<span class="var-type">string</span> <span class="var-name">$proto</span>)</li> |
---|
| 229 | <?php echo li_arrow() ?><span class="method-result">void</span> <a href="#methodstream">stream</a>(<span class="var-type">string</span> <span class="var-type">$filename</span>, [<span class="var-type">mixed</span> <span class="var-name">$options</span> = null])</li> |
---|
| 230 | </ul> |
---|
| 231 | |
---|
| 232 | <div class="method-definition" style="background-position: 10px bottom;"> |
---|
| 233 | <a name="method__construct" id="__construct"><!-- --></a> |
---|
| 234 | <div class="method-header"> |
---|
| 235 | <span class="method-title">Constructor __construct</span> (line <span class="line-number">163</span>) |
---|
| 236 | </div> |
---|
| 237 | <p class="short-description">Class constructor</p> |
---|
| 238 | <div class="method-signature"> |
---|
| 239 | <span class="method-result">DOMPDF</span> |
---|
| 240 | <span class="method-name">__construct</span>() |
---|
| 241 | </div> |
---|
| 242 | </div> |
---|
| 243 | |
---|
| 244 | <div class="method-definition" style="background-position: 302px bottom;"> |
---|
| 245 | <a name="methodget_base_path" id="get_base_path"><!-- --></a> |
---|
| 246 | <div class="method-header"> |
---|
| 247 | <span class="method-title">get_base_path</span> (line <span class="line-number">227</span>) |
---|
| 248 | </div> |
---|
| 249 | <p class="short-description">Returns the base path</p> |
---|
| 250 | <div class="method-signature"> |
---|
| 251 | <span class="method-result">string</span> |
---|
| 252 | <span class="method-name">get_base_path</span>() |
---|
| 253 | </div> |
---|
| 254 | </div> |
---|
| 255 | |
---|
| 256 | <div class="method-definition" style="background-position: 710px bottom;"> |
---|
| 257 | <a name="methodget_canvas" id="get_canvas"><!-- --></a> |
---|
| 258 | <div class="method-header"> |
---|
| 259 | <span class="method-title">get_canvas</span> (line <span class="line-number">234</span>) |
---|
| 260 | </div> |
---|
| 261 | <p class="short-description">Return the underlying Canvas instance (e.g. CPDF_Adapter, GD_Adapter)</p> |
---|
| 262 | <div class="method-signature"> |
---|
| 263 | <span class="method-result">Canvas</span> |
---|
| 264 | <span class="method-name">get_canvas</span>() |
---|
| 265 | </div> |
---|
| 266 | |
---|
| 267 | </div> |
---|
| 268 | |
---|
| 269 | <div class="method-definition" style="background-position: 252px bottom;"> |
---|
| 270 | <a name="methodget_host" id="get_host"><!-- --></a> |
---|
| 271 | <div class="method-header"> |
---|
| 272 | <span class="method-title">get_host</span> (line <span class="line-number">220</span>) |
---|
| 273 | </div> |
---|
| 274 | <p class="short-description">Returns the base hostname</p> |
---|
| 275 | <div class="method-signature"> |
---|
| 276 | <span class="method-result">string</span> |
---|
| 277 | <span class="method-name">get_host</span>() |
---|
| 278 | </div> |
---|
| 279 | |
---|
| 280 | </div> |
---|
| 281 | |
---|
| 282 | <div class="method-definition" style="background-position: 498px bottom;"> |
---|
| 283 | <a name="methodget_protocol" id="get_protocol"><!-- --></a> |
---|
| 284 | <div class="method-header"> |
---|
| 285 | <span class="method-title">get_protocol</span> (line <span class="line-number">213</span>) |
---|
| 286 | </div> |
---|
| 287 | <p class="short-description">Returns the protocol in use</p> |
---|
| 288 | <div class="method-signature"> |
---|
| 289 | <span class="method-result">string</span> |
---|
| 290 | <span class="method-name">get_protocol</span>() |
---|
| 291 | </div> |
---|
| 292 | |
---|
| 293 | </div> |
---|
| 294 | |
---|
| 295 | <div class="method-definition" style="background-position: 39px bottom;"> |
---|
| 296 | <a name="methodget_tree" id="get_tree"><!-- --></a> |
---|
| 297 | <div class="method-header"> |
---|
| 298 | <span class="method-title">get_tree</span> (line <span class="line-number">182</span>) |
---|
| 299 | </div> |
---|
| 300 | <p class="short-description">Returns the underlying Frame_Tree object</p> |
---|
| 301 | <div class="method-signature"> |
---|
| 302 | <span class="method-result">Frame_Tree</span> |
---|
| 303 | <span class="method-name">get_tree</span>() |
---|
| 304 | </div> |
---|
| 305 | |
---|
| 306 | </div> |
---|
| 307 | |
---|
| 308 | <div class="method-definition" style="background-position: 653px bottom;"> |
---|
| 309 | <a name="methodload_html" id="load_html"><!-- --></a> |
---|
| 310 | <div class="method-header"> |
---|
| 311 | <span class="method-title">load_html</span> (line <span class="line-number">272</span>) |
---|
| 312 | </div> |
---|
| 313 | <p class="short-description">Loads an HTML string</p> |
---|
| 314 | <p class="description"><p>Parse errors are stored in the global array _dompdf_warnings.</p></p> |
---|
| 315 | <div class="method-signature"> |
---|
| 316 | <span class="method-result">void</span> |
---|
| 317 | <span class="method-name">load_html</span>(<span class="var-type">string</span> <span class="var-name">$str</span>) |
---|
| 318 | </div> |
---|
| 319 | |
---|
| 320 | <ul class="parameters"> |
---|
| 321 | <li> |
---|
| 322 | <span class="var-type">string</span> |
---|
| 323 | <span class="var-name">$str</span><span class="var-description">: HTML text to load</span></li> |
---|
| 324 | </ul> |
---|
| 325 | |
---|
| 326 | </div> |
---|
| 327 | |
---|
| 328 | <div class="method-definition" style="background-position: 479px bottom;"> |
---|
| 329 | <a name="methodload_html_file" id="load_html_file"><!-- --></a> |
---|
| 330 | <div class="method-header"> |
---|
| 331 | <span class="method-title">load_html_file</span> (line <span class="line-number">245</span>) |
---|
| 332 | </div> |
---|
| 333 | <p class="short-description">Loads an HTML file</p> |
---|
| 334 | <p class="description"><p>Parse errors are stored in the global array _dompdf_warnings.</p></p> |
---|
| 335 | <div class="method-signature"> |
---|
| 336 | <span class="method-result">void</span> |
---|
| 337 | <span class="method-name">load_html_file</span>(<span class="var-type">string</span> <span class="var-name">$file</span>) |
---|
| 338 | </div> |
---|
| 339 | |
---|
| 340 | <ul class="parameters"> |
---|
| 341 | <li> |
---|
| 342 | <span class="var-type">string</span> |
---|
| 343 | <span class="var-name">$file</span><span class="var-description">: a filename or url to load</span></li> |
---|
| 344 | </ul> |
---|
| 345 | |
---|
| 346 | </div> |
---|
| 347 | |
---|
| 348 | <div class="method-definition" style="background-position: 182px bottom;"> |
---|
| 349 | <a name="methodoutput" id="output"><!-- --></a> |
---|
| 350 | <div class="method-header"> |
---|
| 351 | <span class="method-title">output</span> (line <span class="line-number">451</span>) |
---|
| 352 | </div> |
---|
| 353 | <p class="short-description">Returns the PDF as a string</p> |
---|
| 354 | <div class="method-signature"> |
---|
| 355 | <span class="method-result">string</span> |
---|
| 356 | <span class="method-name">output</span>() |
---|
| 357 | </div> |
---|
| 358 | |
---|
| 359 | </div> |
---|
| 360 | |
---|
| 361 | <div class="method-definition" style="background-position: 741px bottom;"> |
---|
| 362 | |
---|
| 363 | <a name="methodrender" id="render"><!-- --></a> |
---|
| 364 | <div class="method-header"> |
---|
| 365 | <span class="method-title">render</span> (line <span class="line-number">373</span>) |
---|
| 366 | </div> |
---|
| 367 | <p class="short-description">Renders the HTML to PDF</p> |
---|
| 368 | |
---|
| 369 | <div class="method-signature"> |
---|
| 370 | <span class="method-result">void</span> |
---|
| 371 | <span class="method-name">render</span>() |
---|
| 372 | </div> |
---|
| 373 | </div> |
---|
| 374 | |
---|
| 375 | <div class="method-definition" style="background-position: 824px bottom;"> |
---|
| 376 | <a name="methodset_base_path" id="set_base_path"><!-- --></a> |
---|
| 377 | <div class="method-header"> |
---|
| 378 | <span class="method-title">set_base_path</span> (line <span class="line-number">206</span>) |
---|
| 379 | </div> |
---|
| 380 | <p class="short-description">Sets the base path</p> |
---|
| 381 | <div class="method-signature"> |
---|
| 382 | <span class="method-result">void</span> |
---|
| 383 | <span class="method-name">set_base_path</span>(<span class="var-type">string</span> <span class="var-name">$path</span>) |
---|
| 384 | </div> |
---|
| 385 | |
---|
| 386 | <ul class="parameters"> |
---|
| 387 | <li> |
---|
| 388 | <span class="var-type">string</span> |
---|
| 389 | <span class="var-name">$path</span></li> |
---|
| 390 | </ul> |
---|
| 391 | |
---|
| 392 | </div> |
---|
| 393 | |
---|
| 394 | <div class="method-definition" style="background-position: 519px bottom;"> |
---|
| 395 | |
---|
| 396 | <a name="methodset_host" id="set_host"><!-- --></a> |
---|
| 397 | <div class="method-header"> |
---|
| 398 | <span class="method-title">set_host</span> (line <span class="line-number">199</span>) |
---|
| 399 | </div> |
---|
| 400 | <p class="short-description">Sets the base hostname</p> |
---|
| 401 | |
---|
| 402 | <div class="method-signature"> |
---|
| 403 | <span class="method-result">void</span> |
---|
| 404 | <span class="method-name">set_host</span>(<span class="var-type">string</span> <span class="var-name">$host</span>) |
---|
| 405 | </div> |
---|
| 406 | |
---|
| 407 | <ul class="parameters"> |
---|
| 408 | <li> |
---|
| 409 | <span class="var-type">string</span> |
---|
| 410 | <span class="var-name">$host</span></li> |
---|
| 411 | </ul> |
---|
| 412 | </div> |
---|
| 413 | |
---|
| 414 | <div class="method-definition" style="background-position: 391px bottom;"> |
---|
| 415 | <a name="methodset_paper" id="set_paper"><!-- --></a> |
---|
| 416 | <div class="method-header"> |
---|
| 417 | <span class="method-title">set_paper</span> (line <span class="line-number">353</span>) |
---|
| 418 | </div> |
---|
| 419 | <p class="short-description">Sets the paper size & orientation</p> |
---|
| 420 | |
---|
| 421 | <div class="method-signature"> |
---|
| 422 | <span class="method-result">void</span> |
---|
| 423 | <span class="method-name">set_paper</span>(<span class="var-type">string</span> <span class="var-name">$size</span>, [<span class="var-type">string</span> <span class="var-name">$orientation</span> = <span class="var-default">"portrait"</span>]) |
---|
| 424 | </div> |
---|
| 425 | |
---|
| 426 | <ul class="parameters"> |
---|
| 427 | <li> |
---|
| 428 | <span class="var-type">string</span> |
---|
| 429 | <span class="var-name">$size</span><span class="var-description">: 'letter', 'legal', 'A4', etc. See CPDF_Adapter::$PAPER_SIZES</span></li> |
---|
| 430 | <li> |
---|
| 431 | <span class="var-type">string</span> |
---|
| 432 | <span class="var-name">$orientation</span><span class="var-description">: 'portrait' or 'landscape'</span></li> |
---|
| 433 | </ul> |
---|
| 434 | </div> |
---|
| 435 | |
---|
| 436 | <div class="method-definition" style="background-position: 672px bottom;"> |
---|
| 437 | <a name="methodset_protocol" id="set_protocol"><!-- --></a> |
---|
| 438 | <div class="method-header"> |
---|
| 439 | <span class="method-title">set_protocol</span> (line <span class="line-number">192</span>) |
---|
| 440 | </div> |
---|
| 441 | <p class="short-description">Sets the protocol to use (http://, file://, ftp:// etc.)</p> |
---|
| 442 | |
---|
| 443 | <div class="method-signature"> |
---|
| 444 | <span class="method-result">void</span> |
---|
| 445 | <span class="method-name">set_protocol</span>(<span class="var-type">string</span> <span class="var-name">$proto</span>) |
---|
| 446 | </div> |
---|
| 447 | |
---|
| 448 | <ul class="parameters"> |
---|
| 449 | <li> |
---|
| 450 | <span class="var-type">string</span> |
---|
| 451 | <span class="var-name">$proto</span></li> |
---|
| 452 | </ul> |
---|
| 453 | </div> |
---|
| 454 | |
---|
| 455 | <div class="method-definition" style="background-position: 146px bottom;"> |
---|
| 456 | <a name="methodstream" id="stream"><!-- --></a> |
---|
| 457 | <div class="method-header"> |
---|
| 458 | <span class="method-title">stream</span> (line <span class="line-number">441</span>) |
---|
| 459 | </div> |
---|
| 460 | <p class="short-description">Streams the PDF to the client</p> |
---|
| 461 | |
---|
| 462 | <p class="description"> |
---|
| 463 | |
---|
| 464 | <p>The file will always open a download dialog. The options parameter |
---|
| 465 | controls the output headers. Accepted headers |
---|
| 466 | are:<br/><br/> |
---|
| 467 | |
---|
| 468 | 'Accept-Ranges' => 1 or 0 - if this is not set to 1, then this |
---|
| 469 | header is not included, off by default. This header seems to have |
---|
| 470 | caused some problems despite the fact that it is supposed to solve |
---|
| 471 | them, so I am leaving it off by default.<br/><br/> |
---|
| 472 | |
---|
| 473 | 'compress' = > 1 or 0 - apply content stream compression, this is |
---|
| 474 | on (1) by default<br/><br/> |
---|
| 475 | |
---|
| 476 | 'Attachment' => 1 or 0 - if 1, force the browser to open a download |
---|
| 477 | dialog, on (1) by default</p> |
---|
| 478 | |
---|
| 479 | </p> |
---|
| 480 | |
---|
| 481 | <div class="method-signature"> |
---|
| 482 | <span class="method-result">void</span> |
---|
| 483 | <span class="method-name">stream</span>(<span class="var-type">string</span> <span class="var-name">$filename</span>, [<span class="var-type">array</span> <span class="var-name">$options</span> = <span class="var-default">null</span>]) |
---|
| 484 | </div> |
---|
| 485 | |
---|
| 486 | <ul class="parameters"> |
---|
| 487 | <li> |
---|
| 488 | <span class="var-type">string</span> |
---|
| 489 | <span class="var-name">$filename</span><span class="var-description">: the name of the streamed file</span> </li> |
---|
| 490 | <li> |
---|
| 491 | <span class="var-type">array</span> |
---|
| 492 | <span class="var-name">$options</span><span class="var-description">: header options (see above)</span> </li> |
---|
| 493 | </ul> |
---|
| 494 | </div> |
---|
| 495 | |
---|
| 496 | <a name="inline"> </a> |
---|
| 497 | <h2>Inline PHP Support</h2> |
---|
| 498 | |
---|
| 499 | <p>dompdf supports two varieties of inline PHP code. All PHP evaluation is |
---|
| 500 | controlled by the <code>DOMPDF_ENABLE_PHP</code> configuration option. If it is set to |
---|
| 501 | false, then no PHP code is executed. Otherwise, PHP is evaluated in two |
---|
| 502 | passes:</p> |
---|
| 503 | |
---|
| 504 | <p>The first pass is useful for inserting dynamic data into your PDF. You can |
---|
| 505 | do this by embedding <?php ?> tags in your HTML file, as you would in a |
---|
| 506 | normal .php file. This code is evaluated prior to parsing the HTML, so you |
---|
| 507 | can echo any text or markup and it will appear in the rendered PDF.</p> |
---|
| 508 | |
---|
| 509 | <p>The second pass is useful for performing drawing operations on the |
---|
| 510 | underlying PDF class directly. You can do this by embedding PHP code within |
---|
| 511 | <script type="text/php"> </script> tags. This code is evaluated |
---|
| 512 | during the rendering phase and you have access to a few internal objects and |
---|
| 513 | operations. In particular, the <code>$pdf</code> variable is the current instance of |
---|
| 514 | Canvas. Using this object, you can write and draw directly on the |
---|
| 515 | current page. Using the <code>Canvas::open_object()</code>, |
---|
| 516 | <code>Canvas::close_object()</code> and |
---|
| 517 | <code>Canvas::add_object()</code> methods, you can create text and |
---|
| 518 | drawing objects that appear on every page of your PDF (useful for headers & |
---|
| 519 | footers).</p> |
---|
| 520 | |
---|
| 521 | <p>The following variables are defined for you during the second pass of PHP |
---|
| 522 | execution:</p> |
---|
| 523 | <pre> |
---|
| 524 | $pdf the current instance of Canvas |
---|
| 525 | $PAGE_NUM the current page number |
---|
| 526 | $PAGE_COUNT the total number of pages in the document |
---|
| 527 | </pre> |
---|
| 528 | |
---|
| 529 | <p>For more complete documentation of the Canvas API, see the <a |
---|
| 530 | href="http://www.digitaljunkies.ca/dompdf/doc/">API documentation</a>.</p> |
---|
| 531 | |
---|
| 532 | <?php include("foot.inc"); ?> |
---|