php-doc-en/functions/pdf.xml
2002-01-07 02:52:21 +00:00

3135 lines
98 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.76 $ -->
<reference id="ref.pdf">
<title>PDF functions </title>
<titleabbrev>PDF</titleabbrev>
<partintro>
<sect1 id="pdf.intro">
<title>Introduction</title>
<simpara>
The PDF functions in PHP can create PDF files using the PDFlib
library created by <ulink url="&url.pdflib.merz;">Thomas
Merz</ulink>. PDFlib is available for download at <ulink
url="&url.pdf;">&url.pdf;</ulink>, but requires that you purchase
a license for commercial use. The <ulink
url="&url.jpeg;">JPEG</ulink> and <ulink
url="&url.tiff;">TIFF</ulink> libraries are required to compile
this extension. Please see the <link
linkend="install.configure.with-pdflib">PDFlib installation</link>
section for more information about compiling PDF support into PHP.
</simpara>
<simpara>
The documentation in this section is only meant to be an overview
of the available functions in the PDFlib library and should not be
considered an exhaustive reference. Please consult the
documentation included in the source distribution of PDFlib for
the full and detailed explanation of each function here. It
provides a very good overview of what PDFlib is capable of doing
and contains the most up-to-date documentation of all functions.
</simpara>
<simpara>
All of the functions in PDFlib and the PHP module have identical
function names and parameters. You will need to understand some
of the basic concepts of PDF and PostScript to efficiently use
this extension. All lengths and coordinates are measured in
PostScript points. There are generally 72 PostScript points to an
inch, but this depends on the output resolution. Please see the
PDFlib documentation included with the source distribution of
PDFlib for a more thorough explanation of the coordinate system
used.
</simpara>
<simpara>
Please note that most of the PDF functions require a
<parameter>pdf object</parameter> as it's first parameter. Please
see the examples below for more information.
</simpara>
<note>
<para>
An alternative PHP module for PDF document creation based on
<ulink url="&url.cpdf;">FastIO's</ulink> ClibPDF is
available. Please see the <link linkend="ref.cpdf">ClibPDF</link>
section for details. Note that <link
linkend="ref.cpdf">ClibPDF</link> has a slightly different API
compared to PDFlib.
</para>
</note>
</sect1>
<sect1 id="pdf.oldlibs.confusion">
<title>Confusion with old PDFlib versions</title>
<simpara>
Starting with PHP 4.0.5, the PHP extension for PDFlib is
officially supported by PDFlib GmbH. This means that all the
functions described in the PDFlib manual (V3.00 or greater) are
supported by PHP 4 with exactly the same meaning and the same
parameters. Only the return values may differ from the PDFlib
manual, because the PHP convention of returning
&false; was adopted. For compatibility reasons
this binding for PDFlib still supports the old functions, but they
should be replaced by their new versions. PDFlib GmbH will not
support any problems arising from the use of these deprecated
functions.
</simpara>
<para>
<table>
<title>Deprecated functions and its replacements</title>
<tgroup cols="2">
<thead>
<row>
<entry>Old function</entry>
<entry>Replacement</entry>
</row>
</thead>
<tbody>
<row>
<entry><function>pdf_put_image</function></entry>
<entry>Not needed anymore.</entry>
</row>
<row>
<entry><function>pdf_execute_image</function></entry>
<entry>Not needed anymore.</entry>
</row>
<row>
<entry><function>pdf_get_annotation</function></entry>
<entry><function>pdf_get_bookmark</function> using the same
parameters.</entry>
</row>
<row>
<entry><function>pdf_get_font</function></entry>
<entry><function>pdf_get_value</function> passing
<literal>"font"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_get_fontsize</function></entry>
<entry><function>pdf_get_value</function> passing
<literal>"fontsize"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_get_fontname</function></entry>
<entry><function>pdf_get_parameter</function> passing
<literal>"fontname"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_info_creator</function></entry>
<entry><function>pdf_set_info</function> passing
<literal>"Creator"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_info_title</function></entry>
<entry><function>pdf_set_info</function> passing
<literal>"Title"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_info_subject</function></entry>
<entry><function>pdf_set_info</function> passing
<literal>"Subject"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_info_author</function></entry>
<entry><function>pdf_set_info</function> passing
<literal>"Author"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_info_keywords</function></entry>
<entry><function>pdf_set_info</function> passing
<literal>"Keywords"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_leading</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"leading"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_text_rendering</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"textrendering"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_text_rise</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"textrise"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_horiz_scaling</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"horizscaling"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_text_matrix</function></entry>
<entry>Not available anymore</entry>
</row>
<row>
<entry><function>pdf_set_char_spacing</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"charspacing"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_word_spacing</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"wordspacing"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_set_transition</function></entry>
<entry><function>pdf_set_parameter</function> passing
<literal>"transition"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_open</function></entry>
<entry><function>pdf_new</function> plus an subsequent call
of <function>pdf_open_file</function></entry>
</row>
<row>
<entry><function>pdf_set_font</function></entry>
<entry><function>pdf_findfont</function> plus an subsequent call
of <function>pdf_setfont</function></entry>
</row>
<row>
<entry><function>pdf_set_duration</function></entry>
<entry><function>pdf_set_value</function> passing
<literal>"duration"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_open_gif</function></entry>
<entry><function>pdf_open_image_file</function> passing
<literal>"gif"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_open_jpeg</function></entry>
<entry><function>pdf_open_image_file</function> passing
<literal>"jpeg"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_open_tiff</function></entry>
<entry><function>pdf_open_image_file</function> passing
<literal>"tiff"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_open_png</function></entry>
<entry><function>pdf_open_image_file</function> passing
<literal>"png"</literal> as the second parameter.</entry>
</row>
<row>
<entry><function>pdf_get_image_width</function></entry>
<entry><function>pdf_get_value</function> passing
<literal>"imagewidth"</literal> as the second parameter and the image
as the third parameter.</entry>
</row>
<row>
<entry><function>pdf_get_image_height</function></entry>
<entry><function>pdf_get_value</function> passing
<literal>"imageheight"</literal> as the second parameter and the
image as the third parameter.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
<sect1 id="pdf.install.pdflib">
<title>PDFlib 3.x Installation Hints</title>
<simpara>
When using version 3.x of PDFlib, you should configure PDFlib
with the option <literal>--enable-shared-pdflib</literal>.
</simpara>
</sect1>
<sect1 id="pdf.oldlibs.hints">
<title>Issues with older versions of PDFlib</title>
<simpara>
Any version of PHP 4 after March 9, 2000 does not support versions
of PDFlib older than 3.0.
</simpara>
<simpara>
PDFlib 3.0 or greater is supported by PHP 3.0.19 and later.
</simpara>
</sect1>
<sect1 id="pdf.examples">
<title>Examples</title>
<simpara>
Most of the functions are fairly easy to use. The most difficult part
is probably creating a very simple PDF document at all. The following
example should help to get started.
It creates <filename>test.pdf</filename>
with one page. The page contains the text "Times Roman outlined" in an
outlined, 30pt font. The text is also underlined.
</simpara>
<para>
<example>
<title>Creating a PDF document with PDFlib</title>
<programlisting>
<![CDATA[
<?php
$pdf = pdf_new();
pdf_open_file($pdf, "test.pdf");
pdf_set_info($pdf, "Author", "Uwe Steinmann");
pdf_set_info($pdf, "Title", "Test for PHP wrapper of PDFlib 2.0");
pdf_set_info($pdf, "Creator", "See Author");
pdf_set_info($pdf, "Subject", "Testing");
pdf_begin_page($pdf, 595, 842);
pdf_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Times-Roman", 30, "host");
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
pdf_end_page($pdf);
pdf_close($pdf);
pdf_delete($pdf);
echo "<A HREF=getpdf.php>finished</A>";
?>
]]>
</programlisting>
<simpara>
The script <filename>getpdf.php</filename> just returns the pdf document.
</simpara>
<informalexample>
<programlisting>
<![CDATA[
<?php
$len = filesize($filename);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
readfile($filename);
?>
]]>
</programlisting>
</informalexample>
</example>
</para>
<para>
The PDFlib distribution contains a more complex example which
creates a page with an analog clock. Here we use the in memory
creation feature of PDFlib to alleviate the need to use temporary
files. The example, converted to PHP from the PDFlib example, is
as follows: (The same example is available in the <link
linkend="ref.cpdf">CLibPDF</link> documentation.)
</para>
<para>
<example>
<title>pdfclock example from PDFlib distribution</title>
<programlisting>
<![CDATA[
<?php
$radius = 200;
$margin = 20;
$pagecount = 10;
$pdf = pdf_new();
if (!pdf_open_file($pdf, "")) {
print error;
exit;
};
pdf_set_parameter($pdf, "warning", "true");
pdf_set_info($pdf, "Creator", "pdf_clock.php");
pdf_set_info($pdf, "Author", "Uwe Steinmann");
pdf_set_info($pdf, "Title", "Analog Clock");
while($pagecount-- > 0) {
pdf_begin_page($pdf, 2 * ($radius + $margin), 2 * ($radius + $margin));
pdf_set_parameter($pdf, "transition", "wipe");
pdf_set_value($pdf, "duration", 0.5);
pdf_translate($pdf, $radius + $margin, $radius + $margin);
pdf_save($pdf);
pdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);
/* minute strokes */
pdf_setlinewidth($pdf, 2.0);
for ($alpha = 0; $alpha < 360; $alpha += 6) {
pdf_rotate($pdf, 6.0);
pdf_moveto($pdf, $radius, 0.0);
pdf_lineto($pdf, $radius-$margin/3, 0.0);
pdf_stroke($pdf);
}
pdf_restore($pdf);
pdf_save($pdf);
/* 5 minute strokes */
pdf_setlinewidth($pdf, 3.0);
for ($alpha = 0; $alpha < 360; $alpha += 30) {
pdf_rotate($pdf, 30.0);
pdf_moveto($pdf, $radius, 0.0);
pdf_lineto($pdf, $radius-$margin, 0.0);
pdf_stroke($pdf);
}
$ltime = getdate();
/* draw hour hand */
pdf_save($pdf);
pdf_rotate($pdf,-(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0);
pdf_moveto($pdf, -$radius/10, -$radius/20);
pdf_lineto($pdf, $radius/2, 0.0);
pdf_lineto($pdf, -$radius/10, $radius/20);
pdf_closepath($pdf);
pdf_fill($pdf);
pdf_restore($pdf);
/* draw minute hand */
pdf_save($pdf);
pdf_rotate($pdf,-(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0);
pdf_moveto($pdf, -$radius/10, -$radius/20);
pdf_lineto($pdf, $radius * 0.8, 0.0);
pdf_lineto($pdf, -$radius/10, $radius/20);
pdf_closepath($pdf);
pdf_fill($pdf);
pdf_restore($pdf);
/* draw second hand */
pdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
pdf_setlinewidth($pdf, 2);
pdf_save($pdf);
pdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
pdf_moveto($pdf, -$radius/5, 0.0);
pdf_lineto($pdf, $radius, 0.0);
pdf_stroke($pdf);
pdf_restore($pdf);
/* draw little circle at center */
pdf_circle($pdf, 0, 0, $radius/30);
pdf_fill($pdf);
pdf_restore($pdf);
pdf_end_page($pdf);
# to see some difference
sleep(1);
}
pdf_close($pdf);
$buf = pdf_get_buffer($pdf);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
print $buf;
pdf_delete($pdf);
?>
]]>
</programlisting>
</example>
</para>
</sect1>
</partintro>
<refentry id="function.pdf-add-annotation">
<refnamediv>
<refname>pdf_add_annotation</refname>
<refpurpose>Deprecated: Adds annotation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
<function>pdf_add_outline</function> is replaced by
<function>pdf_add_note</function>
</para>
<para>
See also <function>pdf_add_note</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-bookmark">
<refnamediv>
<refname>pdf_add_bookmark</refname>
<refpurpose>Adds bookmark for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_bookmark</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
<paramdef>int <parameter><optional>parent</optional></parameter></paramdef>
<paramdef>int <parameter><optional>open</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a nested bookmark under <parameter>parent</parameter>, or a new top-level
bookmark if <parameter>parent</parameter> = 0. Returns a bookmark descriptor
which may be used as parent for subsequent nested bookmarks.
If open = 1, child bookmarks will be folded out, and invisible if open = 0.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-launchlink">
<refnamediv>
<refname>pdf_add_launchlink</refname>
<refpurpose>Add a launch annotation for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_launchlink</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a launch annotation (to a target of arbitrary file type).
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-locallink">
<refnamediv>
<refname>pdf_add_locallink</refname>
<refpurpose>Add a link annotation for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_locallink</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>int <parameter>page</parameter></paramdef>
<paramdef>string <parameter>dest</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a link annotation to a target within the current PDF file.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-note">
<refnamediv>
<refname>pdf_add_note</refname>
<refpurpose>Add a note annotation for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_note</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>string <parameter>contents</parameter></paramdef>
<paramdef>string <parameter>title</parameter></paramdef>
<paramdef>string <parameter>icon</parameter></paramdef>
<paramdef>int <parameter>open</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a note annotation. icon is one of of "comment, "insert", "note",
"paragraph", "newparagraph", "key", or "help".
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-outline">
<refnamediv>
<refname>pdf_add_outline</refname>
<refpurpose>Deprecated: Adds bookmark for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_add_bookmark</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-pdflink">
<refnamediv>
<refname>pdf_add_pdflink</refname>
<refpurpose>Adds file link annotation for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_pdflink</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>int <parameter>page</parameter></paramdef>
<paramdef>string <parameter>dest</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a file link annotation (to a PDF target).
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-thumbnail">
<refnamediv>
<refname>pdf_add_thumbnail</refname>
<refpurpose>Adds thumbnail for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_thumbnail</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add an existing image as thumbnail for the current page.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-add-weblink">
<refnamediv>
<refname>pdf_add_weblink</refname>
<refpurpose>Adds weblink for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_add_weblink</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>string <parameter>url</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a weblink annotation to a target URL on the Web.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-arc">
<refnamediv>
<refname>pdf_arc</refname>
<refpurpose>Draws an arc (counterclockwise)</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_arc</function></funcdef>
<paramdef>resource <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>r</parameter></paramdef>
<paramdef>float <parameter>alpha</parameter></paramdef>
<paramdef>float <parameter>beta</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a counterclockwise circular arc from alpha to beta degrees
</para>
<para>
See also: <function>pdf_arcn</function>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-arcn">
<refnamediv>
<refname>pdf_arcn</refname>
<refpurpose>Draws an arc (clockwise)</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_arc</function></funcdef>
<paramdef>resource <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>r</parameter></paramdef>
<paramdef>float <parameter>alpha</parameter></paramdef>
<paramdef>float <parameter>beta</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a clockwise circular arc from alpha to beta degrees
</para>
<para>
See also: <function>pdf_arc</function>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-attach-file">
<refnamediv>
<refname>pdf_attach_file</refname>
<refpurpose>Adds a file attachement for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_attach_file</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>llx</parameter></paramdef>
<paramdef>float <parameter>lly</parameter></paramdef>
<paramdef>float <parameter>urx</parameter></paramdef>
<paramdef>float <parameter>ury</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>string <parameter>description</parameter></paramdef>
<paramdef>string <parameter>author</parameter></paramdef>
<paramdef>string <parameter>mimetype</parameter></paramdef>
<paramdef>string <parameter>icon</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a file attachment annotation. icon is one of "graph,
"paperclip", "pushpin", or "tag".
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-begin-page">
<refnamediv>
<refname>pdf_begin_page</refname>
<refpurpose>Starts new page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_begin_page</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
<paramdef>float <parameter>height</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Add a new page to the document. The <parameter>width</parameter>
and <parameter>height</parameter> are specified in points, which are
1/72 of an inch.
</para>
<para>
<table>
<title>Common Page Sizes in Points</title>
<tgroup cols="2">
<thead>
<row>
<entry>name</entry>
<entry>size</entry>
</row>
</thead>
<tbody>
<row>
<entry>A0</entry>
<entry>2380&cross;3368</entry>
</row>
<row>
<entry>A1</entry>
<entry>1684&cross;2380</entry>
</row>
<row>
<entry>A2</entry>
<entry>1190&cross;1684</entry>
</row>
<row>
<entry>A3</entry>
<entry>842&cross;1190</entry>
</row>
<row>
<entry>A4</entry>
<entry>595&cross;842</entry>
</row>
<row>
<entry>A5</entry>
<entry>421&cross;595</entry>
</row>
<row>
<entry>A6</entry>
<entry>297&cross;421</entry>
</row>
<row>
<entry>B5</entry>
<entry>501&cross;709</entry>
</row>
<row>
<entry>letter (8.5"&cross;11")</entry>
<entry>612&cross;792</entry>
</row>
<row>
<entry>legal (8.5"&cross;14")</entry>
<entry>612&cross;1008</entry>
</row>
<row>
<entry>ledger (17"&cross;11")</entry>
<entry>1224&cross;792</entry>
</row>
<row>
<entry>11"&cross;17"</entry>
<entry>792&cross;1224</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-begin-pattern">
<refnamediv>
<refname>pdf_begin_pattern</refname>
<refpurpose>Starts new pattern</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_begin_pattern</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
<paramdef>float <parameter>height</parameter></paramdef>
<paramdef>float <parameter>xstep</parameter></paramdef>
<paramdef>float <parameter>ystep</parameter></paramdef>
<paramdef>int <parameter>painttype</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Starts a new pattern definition and returns a pattern handle.
<parameter>width</parameter>, and <parameter>height</parameter>
define the bounding box for the pattern. <parameter>xstep</parameter>
and <parameter>ystep</parameter> give the repeated pattern offsets.
<parameter>painttype</parameter>=1 means that the pattern has its
own colour settings whereas a value of 2 indicates that the current
colour is used when the pattern is applied.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-begin-template">
<refnamediv>
<refname>pdf_begin_template</refname>
<refpurpose>Starts new template</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_begin_template</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
<paramdef>float <parameter>height</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Start a new template definition.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-circle">
<refnamediv>
<refname>pdf_circle</refname>
<refpurpose>Draws a circle</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_circle</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>r</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a circle with center (x, y) and radius r.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-clip">
<refnamediv>
<refname>pdf_clip</refname>
<refpurpose>Clips to current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_clip</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Use the current path as clipping path.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-close">
<refnamediv>
<refname>pdf_close</refname>
<refpurpose>Closes a pdf object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_close</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close the generated PDF file, and free all document-related resources.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-closepath">
<refnamediv>
<refname>pdf_closepath</refname>
<refpurpose>Closes path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_closepath</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close the current path.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-closepath-fill-stroke">
<refnamediv>
<refname>pdf_closepath_fill_stroke</refname>
<refpurpose>Closes, fills and strokes current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_closepath_fill_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close the path, fill, and stroke it.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-closepath-stroke">
<refnamediv>
<refname>pdf_closepath_stroke</refname>
<refpurpose>Closes path and draws line along path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_closepath_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close the path, and stroke it.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-close-image">
<refnamediv>
<refname>pdf_close_image</refname>
<refpurpose>Closes an image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_close_image</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close an <parameter>image</parameter> retrieved with one of the
<function>pdf_open_image*</function> functions.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-close-pdi">
<refnamediv>
<refname>pdf_close_pdi</refname>
<refpurpose>
Close the input PDF document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_close_pdi</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>dochandle</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close all open page handles, and close the input PDF document.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-close-pdi-page">
<refnamediv>
<refname>pdf_close_pdi_page</refname>
<refpurpose>
Close the page handle
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_close_pdi_page</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>pagehandle</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Close the page handle, and free all page-related resources.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-concat">
<refnamediv>
<refname>pdf_concat</refname>
<refpurpose>Concatenate a matrix to the CTM</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_concat</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>a</parameter></paramdef>
<paramdef>float <parameter>b</parameter></paramdef>
<paramdef>float <parameter>c</parameter></paramdef>
<paramdef>float <parameter>d</parameter></paramdef>
<paramdef>float <parameter>e</parameter></paramdef>
<paramdef>float <parameter>f</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Concatenate a matrix to the CTM.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-continue-text">
<refnamediv>
<refname>pdf_continue_text</refname>
<refpurpose>Outputs text in next line</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_continue_text</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Print text at the next line. The spacing between lines is determined
by the <parameter>leading</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-curveto">
<refnamediv>
<refname>pdf_curveto</refname>
<refpurpose>Draws a curve</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_curveto</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x1</parameter></paramdef>
<paramdef>float <parameter>y1</parameter></paramdef>
<paramdef>float <parameter>x2</parameter></paramdef>
<paramdef>float <parameter>y2</parameter></paramdef>
<paramdef>float <parameter>x3</parameter></paramdef>
<paramdef>float <parameter>y3</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a Bezier curve from the current point, using 3 more control points.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-delete">
<refnamediv>
<refname>pdf_delete</refname>
<refpurpose>Deletes a PDF object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_delete</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Delete the PDF object, and free all internal resources.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-end-page">
<refnamediv>
<refname>pdf_end_page</refname>
<refpurpose>Ends a page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_end_page</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Finish the page.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-endpath">
<refnamediv>
<refname>pdf_endpath</refname>
<refpurpose>Deprecated: Ends current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated, use one of the stroke, fill, or clip functions instead.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-end-pattern">
<refnamediv>
<refname>pdf_end_pattern</refname>
<refpurpose>Finish pattern</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_end_pattern</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Finish the pattern definition.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-end-template">
<refnamediv>
<refname>pdf_end_template</refname>
<refpurpose>Finish template</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_end_template</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Finish the template definition.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-fill">
<refnamediv>
<refname>pdf_fill</refname>
<refpurpose>Fills current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_fill_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Fill the interior of the path with the current fill color.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-fill-stroke">
<refnamediv>
<refname>pdf_fill_stroke</refname>
<refpurpose>Fills and strokes current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_fill_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Fill and stroke the path with the current fill and stroke color.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-findfont">
<refnamediv>
<refname>pdf_findfont</refname>
<refpurpose>Prepare font for later use with <function>pdf_setfont</function>.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_findfont</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>fontname</parameter></paramdef>
<paramdef>string <parameter>encoding</parameter></paramdef>
<paramdef>int <parameter>embed</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Prepare a font for later use with <function>pdf_setfont</function>.
The metrics will be loaded, and if embed is nonzero, the font file
will be checked, but not yet
used. <parameter>encoding</parameter> is one of "builtin",
"macroman", "winansi", "host", or a user-defined encoding name,
or the name of a CMap.
</para>
<para>
<function>pdf_findfont</function> returns a font handle or &false;
on error.
</para>
<para>
<example>
<title><function>pdf_findfont</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$font = pdf_findfont($pdf, "Times New Roman", "winansi", 1);
if ($font) {
pdf_setfont($pdf, $font, 10);
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-buffer">
<refnamediv>
<refname>pdf_get_buffer</refname>
<refpurpose>Fetch the buffer containig the generated PDF data.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_buffer</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Get the contents of the PDF output buffer. The result must be
used by the client before calling any other PDFlib function.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-font">
<refnamediv>
<refname>pdf_get_font</refname>
<refpurpose>Deprecated: font handling</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_get_value</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-fontname">
<refnamediv>
<refname>pdf_get_fontname</refname>
<refpurpose>Deprecated: font handling</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_get_parameter</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-fontsize">
<refnamediv>
<refname>pdf_get_fontsize</refname>
<refpurpose>Deprecated: font handling</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_get_value</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-image-height">
<refnamediv>
<refname>pdf_get_image_height</refname>
<refpurpose>Returns height of an image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_image_height</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>pdf_get_image_height</function> is deprecated,
use <function>pdf_get_value</function> instead.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-image-width">
<refnamediv>
<refname>pdf_get_image_width</refname>
<refpurpose>Returns width of an image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_image_width</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
The <function>pdf_get_image_width</function> is deprecated,
use <function>pdf_get_value</function> instead.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-parameter">
<refnamediv>
<refname>pdf_get_parameter</refname>
<refpurpose>Gets certain parameters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_parameter</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>float <parameter><optional>modifier</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Get the contents of some PDFlib parameter with string type.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-pdi-parameter">
<refnamediv>
<refname>pdf_get_pdi_parameter</refname>
<refpurpose>Get some PDI string parameters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_pdi_parameter</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>int <parameter>doc</parameter></paramdef>
<paramdef>int <parameter>page</parameter></paramdef>
<paramdef>int <parameter>index</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Get the contents of some PDI document parameter with string type.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-pdi-value">
<refnamediv>
<refname>pdf_get_pdi_value</refname>
<refpurpose>Gets some PDI numerical parameters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>pdf_get_pdi_value</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>int <parameter>doc</parameter></paramdef>
<paramdef>int <parameter>page</parameter></paramdef>
<paramdef>int <parameter>index</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Get the contents of some PDI document parameter with numerical type.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-get-majorversion'>
<refnamediv>
<refname>pdf_get_majorversion</refname>
<refpurpose>
Returns the major version number of the PDFlib
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_get_majorversion</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para>
Returns the major version number of the PDFlib.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-get-minorversion'>
<refnamediv>
<refname>pdf_get_minorversion</refname>
<refpurpose>
Returns the minor version number of the PDFlib
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_get_majorversion</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para>
Returns the minor version number of the PDFlib.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-get-value">
<refnamediv>
<refname>pdf_get_value</refname>
<refpurpose>Gets certain numerical value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>float <function>pdf_get_value</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>float <parameter><optional>modifier</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Get the contents of some PDFlib parameter with float type.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-initgraphics">
<refnamediv>
<refname>pdf_initgraphics</refname>
<refpurpose>Resets graphic state</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_initgraphics</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Reset all implicit color and graphics state parameters to their defaults.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-lineto">
<refnamediv>
<refname>pdf_lineto</refname>
<refpurpose>Draws a line</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_lineto</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a line from the current point to (<parameter>x</parameter>,
<parameter>y</parameter>).
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-makespotcolor">
<refnamediv>
<refname>pdf_makespotcolor</refname>
<refpurpose>Makes a spotcolor</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_makespotcolor</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>spotname</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Make a named spot color from the current color.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-moveto">
<refnamediv>
<refname>pdf_moveto</refname>
<refpurpose>Sets current point</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_moveto</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current point.
</para>
<note>
<para>
The current point for graphics and the current text output position are
maintained separately. See <function>pdf_set_text_pos</function> to set
the text output position.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-new">
<refnamediv>
<refname>pdf_new</refname>
<refpurpose>Creates a new pdf object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_new</function></funcdef>
<paramdef><parameter></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Create a new PDF object, using default error handling
and memory management.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open">
<refnamediv>
<refname>pdf_open</refname>
<refpurpose>Deprecated: Open a new pdf object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
<function>pdf_open</function> is deprecated, use
<function>pdf_new</function> plus <function>pdf_open_file</function>
instead.
</para>
<para>
See also <function>pdf_new</function>,
<function>pdf_open_file</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-ccitt">
<refnamediv>
<refname>pdf_open_CCITT</refname>
<refpurpose>Opens a new image file with raw CCITT data</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_CCITT</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>int <parameter>width</parameter></paramdef>
<paramdef>int <parameter>height</parameter></paramdef>
<paramdef>int <parameter>BitReverse</parameter></paramdef>
<paramdef>int <parameter>k</parameter></paramdef>
<paramdef>int <parameter>Blackls1</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Open a raw CCITT image.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-file">
<refnamediv>
<refname>pdf_open_file</refname>
<refpurpose>Opens a new pdf object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_file</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter><optional>filename</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Create a new PDF file using the supplied file name.
If <parameter>filename</parameter> is empty the PDF document
will be generated in memory instead of on file. The result
must be fetched by the client with the
<function>pdf_get_buffer</function> function.
</para>
<para>
The following example shows how to create a pdf document in memory
and how to output it correctly.
<example>
<title>Creating a PDF document in memory</title>
<programlisting role="php">
<![CDATA[
<?php
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_begin_page($pdf, 595, 842);
pdf_set_font($pdf, "Times-Roman", 30, "host");
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "A PDF document created in memory!", 50, 750);
pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header("Content-type: application/pdf");
header("Content-disposition: inline; filename=test.pdf");
header("Content-length: " . strlen($data));
echo $data;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-gif">
<refnamediv>
<refname>pdf_open_gif</refname>
<refpurpose>Deprecated: Opens a GIF image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_open_image</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-image">
<refnamediv>
<refname>pdf_open_image</refname>
<refpurpose>Versatile function for images</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_image</function></funcdef>
<paramdef>int <parameter>PDF-document</parameter></paramdef>
<paramdef>string <parameter>imagetype</parameter></paramdef>
<paramdef>string <parameter>source</parameter></paramdef>
<paramdef>string <parameter>data</parameter></paramdef>
<paramdef>long <parameter>length</parameter></paramdef>
<paramdef>int <parameter>width</parameter></paramdef>
<paramdef>int <parameter>height</parameter></paramdef>
<paramdef>int <parameter>components</parameter></paramdef>
<paramdef>int <parameter>bpc</parameter></paramdef>
<paramdef>string <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Use image data from a variety of data sources. Supported types are
"jpeg", "ccitt", "raw". Supported sources are "memory", "fileref",
"url". len is only used for type="raw", params is only
used for type="ccitt".
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-image-file">
<refnamediv>
<refname>pdf_open_image_file</refname>
<refpurpose>Reads an image from a file</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_image_file</function></funcdef>
<paramdef>int <parameter>PDF-document</parameter></paramdef>
<paramdef>string <parameter>imagetype</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>string <parameter><optional>stringparam</optional></parameter></paramdef>
<paramdef>string <parameter><optional>intparam</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Open an image file. Supported types are "jpeg", "tiff", "gif",
and "png". <parameter>stringparam</parameter> is either
"", "mask", "masked", or "page".
<parameter>intparam</parameter>is either 0, the image id
of the applied mask, or the page.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-jpeg">
<refnamediv>
<refname>pdf_open_jpeg</refname>
<refpurpose>Deprecated: Opens a JPEG image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_open_image</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-memory-image">
<refnamediv>
<refname>pdf_open_memory_image</refname>
<refpurpose>Opens an image created with PHP's image functions</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_memory_image</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
The <function>pdf_open_memory_image</function> function takes
an image created with the PHP's image functions and makes it available
for the pdf object. The function returns a pdf
image identifier.
<example>
<title>Including a memory image</title>
<programlisting>
<![CDATA[
<?php
$im = ImageCreate(100, 100);
$col = ImageColorAllocate($im, 80, 45, 190);
ImageFill($im, 10, 10, $col);
$pim = pdf_open_memory_image($pdf, $im);
ImageDestroy($im);
pdf_place_image($pdf, $pim, 100, 100, 1);
pdf_close_image($pdf, $pim);
?>
]]>
</programlisting>
</example></para>
<para>
See also <function>pdf_close_image</function>,
<function>pdf_place_image</function>.</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-pdi">
<refnamediv>
<refname>pdf_open_pdi</refname>
<refpurpose>
Opens a PDF file
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_pdi</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>string <parameter>stringparam</parameter></paramdef>
<paramdef>int <parameter>intparam</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Open an existing PDF document for later use.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-pdi-page">
<refnamediv>
<refname>pdf_open_pdi_page</refname>
<refpurpose>
Prepare a page
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_pdi_page</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>dochandle</parameter></paramdef>
<paramdef>int <parameter>pagenumber</parameter></paramdef>
<paramdef>string <parameter>pagelabel</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Prepare a page for later use with <function>pdf_place_image</function>
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-png">
<refnamediv>
<refname>pdf_open_png</refname>
<refpurpose>
Deprecated: Opens a PNG image
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_open_image</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-open-tiff">
<refnamediv>
<refname>pdf_open_tiff</refname>
<refpurpose>Deprecated: Opens a TIFF image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_open_tiff</function></funcdef>
<paramdef>int <parameter>PDF-document</parameter></paramdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_open_image</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-place-image">
<refnamediv>
<refname>pdf_place_image</refname>
<refpurpose>Places an image on the page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_place_image</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>image</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>scale</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Place an image with the lower left corner at (<parameter>x</parameter>,
<parameter>y</parameter>), and scale it.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-place-pdi-page">
<refnamediv>
<refname>pdf_place_pdi_page</refname>
<refpurpose>Places an image on the page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_place_pdi_page</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>page</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>sx</parameter></paramdef>
<paramdef>float <parameter>sy</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Place a PDF page with the lower left corner at (<parameter>x</parameter>,
<parameter>y</parameter>), and scale it.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-rect">
<refnamediv>
<refname>pdf_rect</refname>
<refpurpose>Draws a rectangle</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_rect</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
<paramdef>float <parameter>height</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Draw a rectangle at lower left (x, y) with width and height.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-restore">
<refnamediv>
<refname>pdf_restore</refname>
<refpurpose>Restores formerly saved environment</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_restore</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Restore the most recently saved graphics state.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-rotate">
<refnamediv>
<refname>pdf_rotate</refname>
<refpurpose>Sets rotation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_rotate</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>phi</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Rotate the coordinate system by phi degrees.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-save">
<refnamediv>
<refname>pdf_save</refname>
<refpurpose>Saves the current environment</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_save</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Save the current graphics state.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-scale">
<refnamediv>
<refname>pdf_scale</refname>
<refpurpose>Sets scaling</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_scale</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x-scale</parameter></paramdef>
<paramdef>float <parameter>y-scale</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Scale the coordinate system.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setcolor">
<refnamediv>
<refname>pdf_setcolor</refname>
<refpurpose>Sets fill and stroke color</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setcolor</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>type</parameter></paramdef>
<paramdef>string <parameter>colorspace</parameter></paramdef>
<paramdef>float <parameter>c1</parameter></paramdef>
<paramdef>float <parameter><optional>c2</optional></parameter></paramdef>
<paramdef>float <parameter><optional>c3</optional></parameter></paramdef>
<paramdef>float <parameter><optional>c4</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current color space and color. The parameter
<parameter>type</parameter> can be "fill", "stroke", or "both" to
specify that the color is set for filling, stroking or both filling and
stroking. The parameter <parameter>colorspace</parameter> can be
<literal>gray</literal>, <literal>rgb</literal>,
<literal>cmyk</literal>, <literal>spot</literal> or
<literal>pattern</literal>. The parameters <parameter>c1</parameter>,
<parameter>c2</parameter>, <parameter>c3</parameter> and
<parameter>c4</parameter> represent the color components for the color
space specified by <parameter>colorspace</parameter>. Except as
otherwise noted, the color components are floating-point values that
range from 0 to 1.
</para>
<para>
For <literal>gray</literal> only <parameter>c1</parameter> is used.
</para>
<para>
For <literal>rgb</literal> parameters <parameter>c1</parameter>,
<parameter>c2</parameter>, and <parameter>c3</parameter> specify the
red, green and blue values respectively.
<informalexample>
<programlisting role="php">
<![CDATA[
// Set fill and stroke colors to white.
pdf_setcolor($pdf, "both", "rgb", 1, 1, 1);
]]>
</programlisting>
</informalexample>
</para>
<para>
For <literal>cmyk</literal>, parameters <parameter>c1</parameter>,
<parameter>c2</parameter>, <parameter>c3</parameter>, and
<parameter>c4</parameter> are the cyan, magenta, yellow and black
values, respectively.
<informalexample>
<programlisting role="php">
<![CDATA[
// Set fill and stroke colors to white.
pdf_setcolor($pdf, "cmyk", "rgb", 0, 0, 0, 1);
]]>
</programlisting>
</informalexample>
</para>
<para>
For <literal>spot</literal>, <parameter>c1</parameter> should be
a spot color handles returned by <function>pdf_makespotcolor</function>
and <parameter>c2</parameter> is a tint value between 0 and 1.
</para>
<para>
For <literal>pattern</literal>, <parameter>c1</parameter> should be
a pattern handle returned by <function>pdf_begin_pattern</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setdash">
<refnamediv>
<refname>pdf_setdash</refname>
<refpurpose>Sets dash pattern</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setdash</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>b</parameter></paramdef>
<paramdef>float <parameter>w</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current dash pattern to <parameter>b</parameter> black
and <parameter>w</parameter> white units.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setflat">
<refnamediv>
<refname>pdf_setflat</refname>
<refpurpose>Sets flatness</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setflat</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>flatness</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the flatness to a value between 0 and 100 inclusive.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setfont">
<refnamediv>
<refname>pdf_setfont</refname>
<refpurpose>Set the current font</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setfont</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>font</parameter></paramdef>
<paramdef>float <parameter>size</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current font in the given size, using a
<parameter>font</parameter> handle returned by
<function>pdf_findfont</function>
</para>
<para>
See Also: <function>pdf_findfont</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setgray">
<refnamediv>
<refname>pdf_setgray</refname>
<refpurpose>Sets drawing and filling color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setgray</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>gray</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current fill and stroke color.
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-setgray-fill">
<refnamediv>
<refname>pdf_setgray_fill</refname>
<refpurpose>Sets filling color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setgray_fill</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>gray</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current fill color to a gray value between 0 and 1 inclusive.
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-setgray-stroke">
<refnamediv>
<refname>pdf_setgray_stroke</refname>
<refpurpose>Sets drawing color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setgray_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>gray</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current stroke color to a gray value between 0 and 1 inclusive
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-setlinecap">
<refnamediv>
<refname>pdf_setlinecap</refname>
<refpurpose>Sets linecap parameter</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setlinecap</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>int <parameter>linecap</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the <parameter>linecap</parameter> parameter to a value between 0 and 2 inclusive.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setlinejoin">
<refnamediv>
<refname>pdf_setlinejoin</refname>
<refpurpose>Sets linejoin parameter</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setlinejoin</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>long <parameter>linejoin</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the line join parameter to a value between 0 and 2 inclusive.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setlinewidth">
<refnamediv>
<refname>pdf_setlinewidth</refname>
<refpurpose>Sets line width</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setlinewidth</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current linewidth to width.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setmatrix">
<refnamediv>
<refname>pdf_setmatrix</refname>
<refpurpose>Sets current transformation matrix</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setmatrix</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>a</parameter></paramdef>
<paramdef>float <parameter>b</parameter></paramdef>
<paramdef>float <parameter>c</parameter></paramdef>
<paramdef>float <parameter>d</parameter></paramdef>
<paramdef>float <parameter>e</parameter></paramdef>
<paramdef>float <parameter>f</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Explicitly set the current transformation matrix.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setmiterlimit">
<refnamediv>
<refname>pdf_setmiterlimit</refname>
<refpurpose>Sets miter limit</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setmiterlimit</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>miter</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the miter limit to a value greater than or equal to 1.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setpolydash">
<refnamediv>
<refname>pdf_setpolydash</refname>
<refpurpose>Sets complicated dash pattern</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setpolydash</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float *<parameter>dasharray</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set a more complicated dash pattern defined by an array.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-setrgbcolor">
<refnamediv>
<refname>pdf_setrgbcolor</refname>
<refpurpose>Sets drawing and filling color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setrgbcolor</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>red value</parameter></paramdef>
<paramdef>float <parameter>green value</parameter></paramdef>
<paramdef>float <parameter>blue value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current fill and stroke color to the supplied RGB values.
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-setrgbcolor-fill">
<refnamediv>
<refname>pdf_setrgbcolor_fill</refname>
<refpurpose>Sets filling color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setrgbcolor_fill</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>red value</parameter></paramdef>
<paramdef>float <parameter>green value</parameter></paramdef>
<paramdef>float <parameter>blue value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current fill color to the supplied RGB values.
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-setrgbcolor-stroke">
<refnamediv>
<refname>pdf_setrgbcolor_stroke</refname>
<refpurpose>Sets drawing color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_setrgbcolor_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>red value</parameter></paramdef>
<paramdef>float <parameter>green value</parameter></paramdef>
<paramdef>float <parameter>blue value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the current stroke color to the supplied RGB values.
</para>
<note>
<para>
PDFlib V4.0: Deprecated, use <function>pdf_setcolor</function> instead.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.pdf-set-border-color">
<refnamediv>
<refname>pdf_set_border_color</refname>
<refpurpose>Sets color of border around links and annotations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_border_color</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>red</parameter></paramdef>
<paramdef>float <parameter>green</parameter></paramdef>
<paramdef>float <parameter>blue</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the border color for all kinds of annotations.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-border-dash">
<refnamediv>
<refname>pdf_set_border_dash</refname>
<refpurpose>Sets dash style of border around links and annotations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_border_dash</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>black</parameter></paramdef>
<paramdef>float <parameter>white</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the border dash style for all kinds of annotations.
See <function>pdf_setdash</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-border-style">
<refnamediv>
<refname>pdf_set_border_style</refname>
<refpurpose>Sets style of border around links and annotations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_border_style</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>style</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the border style for all kinds of annotations.
<parameter>style</parameter> is "solid" or "dashed".
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-char-spacing">
<refnamediv>
<refname>pdf_set_char_spacing</refname>
<refpurpose>Deprecated: Sets character spacing</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-duration">
<refnamediv>
<refname>pdf_set_duration</refname>
<refpurpose>Deprecated: Sets duration between pages</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_set_value</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-font">
<refnamediv>
<refname>pdf_set_font</refname>
<refpurpose>Deprecated: Selects a font face and size</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated. You should use <function>pdf_findfont</function> plus
<function>pdf_setfont</function> instead.
</para>
<para>
See <function>pdf_findfont</function>,
<function>pdf_setfont</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-horiz-scaling">
<refnamediv>
<refname>pdf_set_horiz_scaling</refname>
<refpurpose>Sets horizontal scaling of text</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_horiz_scaling</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>scale</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-info">
<refnamediv>
<refname>pdf_set_info</refname>
<refpurpose>Fills a field of the document information</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_info</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>string <parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Fill document information field key with value.
<parameter>key</parameter> is one of "Subject", "Title", "Creator",
"Author", "Keywords", or a user-defined key.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-set-info-author'>
<refnamediv>
<refname>pdf_set_info_author</refname>
<refpurpose>
Fills the author field of the document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>pdf_set_info_author</function></funcdef>
<paramdef>int <parameter>pdfdoc</parameter></paramdef>
<paramdef>string <parameter>author</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function is deprecate, use <function>pdf_set_info</function> instead.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-set-info-creator'>
<refnamediv>
<refname>pdf_set_info_creator</refname>
<refpurpose>
Fills the creator field of the document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>pdf_set_info_creator</function></funcdef>
<paramdef>int <parameter>pdfdoc</parameter></paramdef>
<paramdef>string <parameter>creator</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function is deprecate, use <function>pdf_set_info</function> instead.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-set-info-keywords'>
<refnamediv>
<refname>pdf_set_info_keywords</refname>
<refpurpose>
Fills the keywords field of the document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>pdf_set_info_keywords</function></funcdef>
<paramdef>int <parameter>pdfdoc</parameter></paramdef>
<paramdef>string <parameter>keywords</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function is deprecate, use <function>pdf_set_info</function> instead.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-set-info-subject'>
<refnamediv>
<refname>pdf_set_info_subject</refname>
<refpurpose>
Fills the subject field of the document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>pdf_set_info_subject</function></funcdef>
<paramdef>int <parameter>pdfdoc</parameter></paramdef>
<paramdef>string <parameter>subject</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function is deprecate, use <function>pdf_set_info</function> instead.
</para>
</refsect1>
</refentry>
<refentry id='function.pdf-set-info-title'>
<refnamediv>
<refname>pdf_set_info_title</refname>
<refpurpose>
Fills the title field of the document
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>pdf_set_info_title</function></funcdef>
<paramdef>int <parameter>pdfdoc</parameter></paramdef>
<paramdef>string <parameter>title</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function is deprecate, use <function>pdf_set_info</function> instead.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-leading">
<refnamediv>
<refname>pdf_set_leading</refname>
<refpurpose>Deprecated: Sets distance between text lines</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-parameter">
<refnamediv>
<refname>pdf_set_parameter</refname>
<refpurpose>Sets certain parameters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_parameter</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>string <parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set some PDFlib parameter with string type.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-text-pos">
<refnamediv>
<refname>pdf_set_text_pos</refname>
<refpurpose>Sets text position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_text_pos</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the text output position.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-text-rendering">
<refnamediv>
<refname>pdf_set_text_rendering</refname>
<refpurpose>Deprecated: Determines how text is rendered</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-text-rise">
<refnamediv>
<refname>pdf_set_text_rise</refname>
<refpurpose>Deprecated: Sets the text rise</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-transition">
<refnamediv>
<refname>pdf_set_text_matrix</refname>
<refpurpose>Deprecated: Sets the text matrix</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
See <function>pdf_set_paramter</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-value">
<refnamediv>
<refname>pdf_set_value</refname>
<refpurpose>Sets certain numerical value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_set_value</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>float <parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Set the value of some PDFlib parameter with float type.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-set-word-spacing">
<refnamediv>
<refname>pdf_set_word_spacing</refname>
<refpurpose>Depriciated: Sets spacing between words</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
Deprecated.
</para>
<para>
See also <function>pdf_set_value</function>,
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-show">
<refnamediv>
<refname>pdf_show</refname>
<refpurpose>Output text at current position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_show</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Print text in the current font and size at the current position.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-show-boxed">
<refnamediv>
<refname>pdf_show_boxed</refname>
<refpurpose>Output text in a box</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>pdf_show_boxed</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
<paramdef>float <parameter>left</parameter></paramdef>
<paramdef>float <parameter>top</parameter></paramdef>
<paramdef>float <parameter>width</parameter></paramdef>
<paramdef>float <parameter>height</parameter></paramdef>
<paramdef>string <parameter>hmode</parameter></paramdef>
<paramdef>string <parameter><optional>feature</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Format text in the current font and size into the supplied text box
according to the requested formatting mode, which must be one of
"left", "right", "center", "justify", or "fulljustify".
If width and height are 0, only a single line is placed at the point
(left, top) in the requested mode.
</para>
<para>
Returns the number of characters that did not fit in the specified
box. Returns 0 if all characters fit or the
<parameter>width</parameter> and <parameter>height</parameter>
parameters were set to 0 for single-line formattting.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-show-xy">
<refnamediv>
<refname>pdf_show_xy</refname>
<refpurpose>Output text at given position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_show_xy</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
<paramdef>float <parameter>x</parameter></paramdef>
<paramdef>float <parameter>y</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Print text in the current font at (x, y).
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-skew">
<refnamediv>
<refname>pdf_skew</refname>
<refpurpose>Skews the coordinate system</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_skew</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>alpha</parameter></paramdef>
<paramdef>float <parameter>beta</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Skew the coordinate system in x and y direction by alpha and
beta degrees.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-stringwidth">
<refnamediv>
<refname>pdf_stringwidth</refname>
<refpurpose>Returns width of text using current font</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>float <function>pdf_stringwidth</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
<paramdef>int <parameter><optional>font</optional></parameter></paramdef>
<paramdef>float <parameter><optional>size</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Returns the width of <parameter>text</parameter> using the last
font set by <function>pdf_setfont</function>. If the optional
parameters <parameter>font</parameter> and
<parameter>size</parameter> are specified, the width will be
calculated using that font and size instead. Please note that
<parameter>font</parameter> is a font handle returned by
<function>pdf_findfont</function>.
</para>
<note>
<para>
Both the <parameter>font</parameter> and <parameter>size</parameter>
parameters must used together.
</para>
</note>
<para>
See Also: <function>pdf_setfont</function> and
<function>pdf_findfont</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-stroke">
<refnamediv>
<refname>pdf_stroke</refname>
<refpurpose>Draws line along path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_stroke</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Stroke the path with the current color and line width, and clear it.
</para>
</refsect1>
</refentry>
<refentry id="function.pdf-translate">
<refnamediv>
<refname>pdf_translate</refname>
<refpurpose>Sets origin of coordinate system</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>pdf_translate</function></funcdef>
<paramdef>int <parameter>pdf object</parameter></paramdef>
<paramdef>float <parameter>tx</parameter></paramdef>
<paramdef>float <parameter>ty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Translate the origin of the coordinate system.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->