php-doc-en/functions/cpdf.xml
2003-12-11 15:42:10 +00:00

2131 lines
76 KiB
XML

<!-- D O N O T E D I T T H I S F I L E ! ! !
it is still here for historical reasons only
(as translators may need to check old revision diffs)
if you want to change things documented in this file
you should now edit the files found under en/reference
instead -->
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.42 $ -->
<reference id="ref.cpdf">
<title>ClibPDF functions</title>
<titleabbrev>ClibPDF</titleabbrev>
<partintro>
<simpara>
ClibPDF lets you create PDF documents with PHP. It is available for
download from <ulink url="&url.fastio;">FastIO</ulink>, but
requires that you purchase a license for commercial use. ClibPDF
functionality and API are similar to <link
linkend="ref.pdf">PDFlib</link>.
</simpara>
<simpara>
This documentation should be read alongside the ClibPDF manual since it
explains the library in much greater detail.
</simpara>
<simpara>
Many functions in the native ClibPDF and the PHP module, as well
as in <link linkend="ref.pdf">PDFlib</link>, have the same name.
All functions except for <function>cpdf_open</function> take the
handle for the document as their first parameter.
</simpara>
<simpara>
Currently this handle is not used internally since ClibPDF does
not support the creation of several PDF documents at the same time.
Actually, you should not even try it, the results are unpredictable. I
can't oversee what the consequences in a multi threaded environment
are. According to the author of ClibPDF this will change in one of
the next releases (current version when this was written is 1.10).
If you need this functionality use the pdflib module.
</simpara>
<note>
<simpara>
The function <function>cpdf_set_font</function> has changed since PHP 3
to support asian fonts. The encoding parameter is no longer an integer
but a string.
</simpara>
</note>
<simpara>
A nice feature of ClibPDF (and <link
linkend="ref.pdf">PDFlib</link>) is the ability to create the pdf
document completely in memory without using temporary files. It
also provides the ability to pass coordinates in a predefined unit
length. (This feature can also be simulated by
<function>pdf_translate</function> when using the <link
linkend="ref.pdf">PDFlib</link>. functions.)
</simpara>
<simpara>
Another nice feature of ClibPDF is the fact that any page can be modified
at any time even if a new page has been already opened. The function
<function>cpdf_set_current_page</function> allows to leave the current
page and presume modifying an other page.
</simpara>
<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 you to get started. It creates a document
with one page. The page contains the text "Times-Roman" in an
outlined 30pt font. The text is underlined.
</simpara>
<example>
<title>Simple ClibPDF Example</title>
<programlisting>
<![CDATA[
<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");
cpdf_begin_text($cpdf);
cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");
cpdf_set_text_rendering($cpdf, 1);
cpdf_text($cpdf, "Times Roman outlined", 50, 750);
cpdf_end_text($cpdf);
cpdf_moveto($cpdf, 50, 740);
cpdf_lineto($cpdf, 330, 740);
cpdf_stroke($cpdf);
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>
]]>
</programlisting>
</example>
<simpara>
The pdflib distribution contains a more complex example which creates a
series of pages with an analog clock. Here is that example converted
into PHP using the ClibPDF extension:
</simpara>
<example>
<title>pdfclock example from pdflib 2.0 distribution</title>
<programlisting>
<![CDATA[
<?php
$radius = 200;
$margin = 20;
$pagecount = 40;
$pdf = cpdf_open(0);
cpdf_set_creator($pdf, "pdf_clock.php3");
cpdf_set_title($pdf, "Analog Clock");
while($pagecount-- > 0) {
cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0);
cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0); /* wipe */
cpdf_translate($pdf, $radius + $margin, $radius + $margin);
cpdf_save($pdf);
cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);
/* minute strokes */
cpdf_setlinewidth($pdf, 2.0);
for ($alpha = 0; $alpha < 360; $alpha += 6)
{
cpdf_rotate($pdf, 6.0);
cpdf_moveto($pdf, $radius, 0.0);
cpdf_lineto($pdf, $radius-$margin/3, 0.0);
cpdf_stroke($pdf);
}
cpdf_restore($pdf);
cpdf_save($pdf);
/* 5 minute strokes */
cpdf_setlinewidth($pdf, 3.0);
for ($alpha = 0; $alpha < 360; $alpha += 30)
{
cpdf_rotate($pdf, 30.0);
cpdf_moveto($pdf, $radius, 0.0);
cpdf_lineto($pdf, $radius-$margin, 0.0);
cpdf_stroke($pdf);
}
$ltime = getdate();
/* draw hour hand */
cpdf_save($pdf);
cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0);
cpdf_moveto($pdf, -$radius/10, -$radius/20);
cpdf_lineto($pdf, $radius/2, 0.0);
cpdf_lineto($pdf, -$radius/10, $radius/20);
cpdf_closepath($pdf);
cpdf_fill($pdf);
cpdf_restore($pdf);
/* draw minute hand */
cpdf_save($pdf);
cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0);
cpdf_moveto($pdf, -$radius/10, -$radius/20);
cpdf_lineto($pdf, $radius * 0.8, 0.0);
cpdf_lineto($pdf, -$radius/10, $radius/20);
cpdf_closepath($pdf);
cpdf_fill($pdf);
cpdf_restore($pdf);
/* draw second hand */
cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
cpdf_setlinewidth($pdf, 2);
cpdf_save($pdf);
cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
cpdf_moveto($pdf, -$radius/5, 0.0);
cpdf_lineto($pdf, $radius, 0.0);
cpdf_stroke($pdf);
cpdf_restore($pdf);
/* draw little circle at center */
cpdf_circle($pdf, 0, 0, $radius/30);
cpdf_fill($pdf);
cpdf_restore($pdf);
cpdf_finalize_page($pdf, $pagecount+1);
}
cpdf_finalize($pdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($pdf);
cpdf_close($pdf);
?>
]]>
</programlisting>
</example>
</partintro>
<refentry id="function.cpdf-add-annotation">
<refnamediv>
<refname>cpdf_add_annotation</refname>
<refpurpose>Adds annotation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_add_annotation</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>llx</parameter></methodparam>
<methodparam><type>float</type><parameter>lly</parameter></methodparam>
<methodparam><type>float</type><parameter>urx</parameter></methodparam>
<methodparam><type>float</type><parameter>ury</parameter></methodparam>
<methodparam><type>string</type><parameter>title</parameter></methodparam>
<methodparam><type>string</type><parameter>content</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_add_annotation</function> adds a note with the
lower left corner at (<parameter>llx</parameter>,
<parameter>lly</parameter>) and the upper right corner at
(<parameter>urx</parameter>, <parameter>ury</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the
unit length. If it's 0 or omitted the default unit as specified
for the page is used. Otherwise the coordinates are measured in
postscript points disregarding the current unit.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-add-outline">
<refnamediv>
<refname>cpdf_add_outline</refname>
<refpurpose>Adds bookmark for current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_add_outline</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_add_outline</function> function adds a bookmark
with text <parameter>text</parameter> that points to the current page.
<example>
<title>Adding a page outline</title>
<programlisting>
<![CDATA[
<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");
// ...
// some drawing
// ...
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-arc">
<refnamediv>
<refname>cpdf_arc</refname>
<refpurpose>Draws an arc</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_arc</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>radius</parameter></methodparam>
<methodparam><type>float</type><parameter>start</parameter></methodparam>
<methodparam><type>float</type><parameter>end</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_arc</function> function draws an arc with
center at point
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>)
and radius <parameter>radius</parameter>, starting at angle
<parameter>start</parameter> and ending at angle
<parameter>end</parameter>.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_circle</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-begin-text">
<refnamediv>
<refname>cpdf_begin_text</refname>
<refpurpose>Starts text section</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_begin_text</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_begin_text</function> function starts a text
section. It must be ended with <function>cpdf_end_text</function>.
<example>
<title>Text output</title>
<programlisting>
<![CDATA[
<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Some text");
cpdf_end_text($pdf)
?>
]]>
</programlisting>
</example>
</para>
<para>
See also <function>cpdf_end_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-circle">
<refnamediv>
<refname>cpdf_circle</refname>
<refpurpose>Draw a circle</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_circle</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>radius</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_circle</function> function draws a circle with
center at point
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>)
and radius <parameter>radius</parameter>.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_arc</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-clip">
<refnamediv>
<refname>cpdf_clip</refname>
<refpurpose>Clips to current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_clip</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_clip</function> function clips all drawing
to the current path.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-close">
<refnamediv>
<refname>cpdf_close</refname>
<refpurpose>Closes the pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_close</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_close</function> function closes the pdf document.
This should be the last function even after
<function>cpdf_finalize</function>, <function>cpdf_output_buffer</function>
and <function>cpdf_save_to_file</function>.
</para>
<para>
See also <function>cpdf_open</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-closepath">
<refnamediv>
<refname>cpdf_closepath</refname>
<refpurpose>Close path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_closepath</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_closepath</function> function closes the
current path.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-closepath-fill-stroke">
<refnamediv>
<refname>cpdf_closepath_fill_stroke</refname>
<refpurpose>Close, fill and stroke current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_closepath_fill_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_closepath_fill_stroke</function> function closes,
fills the interior of the current path with the current fill color and
draws current path.
</para>
<para>
See also <function>cpdf_closepath</function>,
<function>cpdf_stroke</function>,
<function>cpdf_fill</function>,
<function>cpdf_setgray_fill</function>,
<function>cpdf_setgray</function>,
<function>cpdf_setrgbcolor_fill</function>,
<function>cpdf_setrgbcolor</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-closepath-stroke">
<refnamediv>
<refname>cpdf_closepath_stroke</refname>
<refpurpose>Close path and draw line along path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_closepath_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_closepath_stroke</function> function is a
combination of <function>cpdf_closepath</function> and
<function>cpdf_stroke</function>. Then clears the path.
</para>
<para>
See also <function>cpdf_closepath</function>,
<function>cpdf_stroke</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-continue-text">
<refnamediv>
<refname>cpdf_continue_text</refname>
<refpurpose>Output text in next line</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_continue_text</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_continue_text</function> function outputs the
string in <parameter>text</parameter> in the next line.
</para>
<para>
See also <function>cpdf_show_xy</function>,
<function>cpdf_text</function>,
<function>cpdf_set_leading</function>,
<function>cpdf_set_text_pos</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-curveto">
<refnamediv>
<refname>cpdf_curveto</refname>
<refpurpose>Draws a curve</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_curveto</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x1</parameter></methodparam>
<methodparam><type>float</type><parameter>y1</parameter></methodparam>
<methodparam><type>float</type><parameter>x2</parameter></methodparam>
<methodparam><type>float</type><parameter>y2</parameter></methodparam>
<methodparam><type>float</type><parameter>x3</parameter></methodparam>
<methodparam><type>float</type><parameter>y3</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_curveto</function> function draws a Bezier curve
from the current point to the point
(<parameter>x3</parameter>, <parameter>y3</parameter>) using
(<parameter>x1</parameter>, <parameter>y1</parameter>) and
(<parameter>x2</parameter>, <parameter>y2</parameter>) as control
points.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page is
used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_moveto</function>,
<function>cpdf_rmoveto</function>,
<function>cpdf_rlineto</function>,
<function>cpdf_lineto</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-end-text">
<refnamediv>
<refname>cpdf_end_text</refname>
<refpurpose>Ends text section</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_end_text</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_end_text</function> function ends a text
section which was started with <function>cpdf_begin_text</function>.
<example>
<title>Text output</title>
<programlisting>
<![CDATA[
<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Some text");
cpdf_end_text($pdf)
?>
]]>
</programlisting>
</example>
</para>
<para>
See also <function>cpdf_begin_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-fill">
<refnamediv>
<refname>cpdf_fill</refname>
<refpurpose>Fill current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_fill</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_fill</function> function fills the interior of
the current path with the current fill color.
</para>
<para>
See also <function>cpdf_closepath</function>,
<function>cpdf_stroke</function>,
<function>cpdf_setgray_fill</function>,
<function>cpdf_setgray</function>,
<function>cpdf_setrgbcolor_fill</function>,
<function>cpdf_setrgbcolor</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-fill-stroke">
<refnamediv>
<refname>cpdf_fill_stroke</refname>
<refpurpose>Fill and stroke current path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_fill_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_fill_stroke</function> function fills the interior of
the current path with the current fill color and draws current path.
</para>
<para>
See also <function>cpdf_closepath</function>,
<function>cpdf_stroke</function>,
<function>cpdf_fill</function>,
<function>cpdf_setgray_fill</function>,
<function>cpdf_setgray</function>,
<function>cpdf_setrgbcolor_fill</function>,
<function>cpdf_setrgbcolor</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-finalize">
<refnamediv>
<refname>cpdf_finalize</refname>
<refpurpose>Ends document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_finalize</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_finalize</function> function ends the document.
You still have to call <function>cpdf_close</function>
</para>
<para>
See also <function>cpdf_close</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-finalize-page">
<refnamediv>
<refname>cpdf_finalize_page</refname>
<refpurpose>Ends page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_finalize_page</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>page number</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_finalize_page</function> function ends the page
with page number <parameter>page number</parameter>.
</para>
<para>
This function is only for saving memory. A finalized page takes
less memory but cannot be modified anymore.
</para>
<para>
See also <function>cpdf_page_init</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-global-set-document-limits">
<refnamediv>
<refname>cpdf_global_set_document_limits</refname>
<refpurpose>Sets document limits for any pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_global_set_document_limits</methodname>
<methodparam><type>int</type><parameter>maxpages</parameter></methodparam>
<methodparam><type>int</type><parameter>maxfonts</parameter></methodparam>
<methodparam><type>int</type><parameter>maximages</parameter></methodparam>
<methodparam><type>int</type><parameter>maxannotations</parameter></methodparam>
<methodparam><type>int</type><parameter>maxobjects</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_global_set_document_limits</function> function sets
several document limits. This function has to be called before
<function>cpdf_open</function> to take effect. It sets the limits
for any document open afterwards.
</para>
<para>
See also <function>cpdf_open</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-import-jpeg">
<refnamediv>
<refname>cpdf_import_jpeg</refname>
<refpurpose>Opens a JPEG image</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>cpdf_import_jpeg</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>file name</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
<methodparam><type>float</type><parameter>x-scale</parameter></methodparam>
<methodparam><type>float</type><parameter>y-scale</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_import_jpeg</function> function opens an image
stored in the file with the name <parameter>file
name</parameter>. The format of the image has to be jpeg. The
image is placed on the current page at position
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
The image is rotated by <parameter>angle</parameter> degrees.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the
unit length. If it's 0 or omitted the default unit as specified
for the page is used. Otherwise the coordinates are measured in
postscript points disregarding the current unit.
</para>
<para>
See also <function>cpdf_place_inline_image</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-lineto">
<refnamediv>
<refname>cpdf_lineto</refname>
<refpurpose>Draws a line</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_lineto</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_lineto</function> function draws a line from
the current point to the point with coordinates
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_moveto</function>,
<function>cpdf_rmoveto</function>,
<function>cpdf_curveto</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-moveto">
<refnamediv>
<refname>cpdf_moveto</refname>
<refpurpose>Sets current point</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_moveto</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_moveto</function> function set the current
point to the coordinates <parameter>x-coor</parameter> and
<parameter>y-coor</parameter>.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the
unit length. If it's 0 or omitted the default unit as specified
for the page is used. Otherwise the coordinates are measured in
postscript points disregarding the current unit.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-newpath">
<refnamediv>
<refname>cpdf_newpath</refname>
<refpurpose>Starts a new path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_newpath</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_newpath</function> starts a new path on the
document given by the <parameter>pdf document</parameter>
parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-open">
<refnamediv>
<refname>cpdf_open</refname>
<refpurpose>Opens a new pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>cpdf_open</methodname>
<methodparam><type>int</type><parameter>compression</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_open</function> function opens
a new pdf document. The first parameter turns document compression
on if it is unequal to 0. The second optional parameter sets the
file in which the document is written. If it is omitted the document
is created in memory and can either be written into a file with
the <function>cpdf_save_to_file</function> or written to standard
output with <function>cpdf_output_buffer</function>.
<note>
<simpara>
The return value will be needed in further versions of ClibPDF
as the first parameter in all other functions which are writing
to the pdf document.
</simpara>
<simpara>
The ClibPDF library takes the filename "-" as a synonym for
stdout. If PHP is compiled as an apache module this will not
work because the way ClibPDF outputs to stdout does not work
with apache. You can solve this problem by skipping the
filename and using <function>cpdf_output_buffer</function> to
output the pdf document.
</simpara>
</note>
</para>
<para>
See also <function>cpdf_close</function>,
<function>cpdf_output_buffer</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-output-buffer">
<refnamediv>
<refname>cpdf_output_buffer</refname>
<refpurpose>Outputs the pdf document in memory buffer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_output_buffer</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_output_buffer</function> function outputs
the pdf document to stdout. The document has to be created in memory which
is the case if <function>cpdf_open</function> has been called with
no filename parameter.
</para>
<para>
See also <function>cpdf_open</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-page-init">
<refnamediv>
<refname>cpdf_page_init</refname>
<refpurpose>Starts new page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_page_init</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>page number</parameter></methodparam>
<methodparam><type>int</type><parameter>orientation</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam choice="opt"><type>float</type><parameter>unit</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_page_init</function> function starts a new
page with height <parameter>height</parameter> and width
<parameter>width</parameter>. The page has number
<parameter>page number</parameter> and orientation
<parameter>orientation</parameter>. <parameter>orientation</parameter>
can be 0 for portrait and 1 for landscape. The last optional parameter
<parameter>unit</parameter> sets the unit for the coordinate system.
The value should be the number of postscript points per unit. Since
one inch is equal to 72 points, a value of 72 would set the unit
to one inch. The default is also 72.
</para>
<para>
See also <function>cpdf_set_current_page</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-place-inline-image">
<refnamediv>
<refname>cpdf_place_inline_image</refname>
<refpurpose>Places an image on the page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_place_inline_image</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>image</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_place_inline_image</function> function places
an image created with the php image functions on the page at
position (<parameter>x-coor</parameter>,
<parameter>y-coor</parameter>). The image can be scaled at the
same time.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the
unit length. If it's 0 or omitted the default unit as specified
for the page is used. Otherwise the coordinates are measured in
postscript points disregarding the current unit.
</para>
<para>
See also <function>cpdf_import_jpeg</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-rect">
<refnamediv>
<refname>cpdf_rect</refname>
<refpurpose>Draw a rectangle</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_rect</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_rect</function> function draws a rectangle with
its lower left corner at point
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
This width is set to <parameter>width</parameter>.
This height is set to <parameter>height</parameter>.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-restore">
<refnamediv>
<refname>cpdf_restore</refname>
<refpurpose>Restores formerly saved environment</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_restore</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_restore</function> function restores the
environment saved with <function>cpdf_save</function>. It works
like the postscript command grestore. Very useful if you want
to translate or rotate an object without effecting other objects.
<example>
<title>Save/Restore</title>
<programlisting>
<![CDATA[
<?php
cpdf_save($pdf);
// do all kinds of rotations, transformations, ...
cpdf_restore($pdf)
?>
]]>
</programlisting>
</example>
</para>
<para>
See also <function>cpdf_save</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-rlineto">
<refnamediv>
<refname>cpdf_rlineto</refname>
<refpurpose>Draws a line</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_rlineto</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_rlineto</function> function draws a line from
the current point to the relative point with coordinates
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_moveto</function>,
<function>cpdf_rmoveto</function>,
<function>cpdf_curveto</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-rmoveto">
<refnamediv>
<refname>cpdf_rmoveto</refname>
<refpurpose>Sets current point</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_rmoveto</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_rmoveto</function> function set the current point
relative to the coordinates <parameter>x-coor</parameter> and
<parameter>y-coor</parameter>.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page is
used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_moveto</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-rotate">
<refnamediv>
<refname>cpdf_rotate</refname>
<refpurpose>Sets rotation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_rotate</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_rotate</function> function set the rotation in
degrees to <parameter>angle</parameter>.
</para>
</refsect1>
</refentry>
<refentry id='function.cpdf-rotate-text'>
<refnamediv>
<refname>cpdf_rotate_text</refname>
<refpurpose>
Sets text rotation angle
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_rotate_text</methodname>
<methodparam><type>int</type><parameter>pdfdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-save">
<refnamediv>
<refname>cpdf_save</refname>
<refpurpose>Saves current environment</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_save</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_save</function> function saves the current
environment. It works like the postscript command gsave. Very
useful if you want to translate or rotate an object without effecting
other objects.
</para>
<para>
See also <function>cpdf_restore</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-save-to-file">
<refnamediv>
<refname>cpdf_save_to_file</refname>
<refpurpose>Writes the pdf document into a file</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_save_to_file</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_save_to_file</function> function outputs
the pdf document into a file if it has been created in memory.
</para>
<para>
This function is not needed if the pdf document has been open
by specifying a filename as a parameter of <function>cpdf_open</function>.
</para>
<para>
See also <function>cpdf_output_buffer</function>,
<function>cpdf_open</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-scale">
<refnamediv>
<refname>cpdf_scale</refname>
<refpurpose>Sets scaling</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_scale</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-scale</parameter></methodparam>
<methodparam><type>float</type><parameter>y-scale</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_scale</function> function set the scaling factor
in both directions.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-char-spacing">
<refnamediv>
<refname>cpdf_set_char_spacing</refname>
<refpurpose>Sets character spacing</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_char_spacing</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>space</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_char_spacing</function> function sets the
spacing between characters.
</para>
<para>
See also <function>cpdf_set_word_spacing</function>,
<function>cpdf_set_leading</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-creator">
<refnamediv>
<refname>cpdf_set_creator</refname>
<refpurpose>Sets the creator field in the pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_creator</methodname>
<methodparam><type>string</type><parameter>creator</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_creator</function> function sets the
creator of a pdf document.
</para>
<para>
See also <function>cpdf_set_subject</function>,
<function>cpdf_set_title</function>,
<function>cpdf_set_keywords</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-current-page">
<refnamediv>
<refname>cpdf_set_current_page</refname>
<refpurpose>Sets current page</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_current_page</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>page number</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_current_page</function> function set the page
on which all operations are performed. One can switch between pages
until a page is finished with <function>cpdf_finalize_page</function>.
</para>
<para>
See also <function>cpdf_finalize_page</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-font">
<refnamediv>
<refname>cpdf_set_font</refname>
<refpurpose>Select the current font face and size</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_font</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>font name</parameter></methodparam>
<methodparam><type>float</type><parameter>size</parameter></methodparam>
<methodparam><type>string</type><parameter>encoding</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_font</function> function sets the
current font face, font size and encoding. Currently only
the standard postscript fonts are supported.
</para>
<para>
The last parameter <parameter>encoding</parameter> can take the
following values: "MacRomanEncoding", "MacExpertEncoding",
"WinAnsiEncoding", and "&null;". "&null;" stands for the font's
built-in encoding.
</para>
<para>
See the ClibPDF Manual for more information, especially how to support
asian fonts.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-horiz-scaling">
<refnamediv>
<refname>cpdf_set_horiz_scaling</refname>
<refpurpose>Sets horizontal scaling of text</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_horiz_scaling</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>scale</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_horiz_scaling</function> function sets the
horizontal scaling to <parameter>scale</parameter> percent.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-keywords">
<refnamediv>
<refname>cpdf_set_keywords</refname>
<refpurpose>Sets the keywords field of the pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_keywords</methodname>
<methodparam><type>string</type><parameter>keywords</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_keywords</function> function sets the
keywords of a pdf document.
</para>
<para>
See also <function>cpdf_set_title</function>,
<function>cpdf_set_creator</function>,
<function>cpdf_set_subject</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-leading">
<refnamediv>
<refname>cpdf_set_leading</refname>
<refpurpose>Sets distance between text lines</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set leading</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>distance</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_leading</function> function sets the distance
between text lines. This will be used if text is output by
<function>cpdf_continue_text</function>.
</para>
<para>
See also <function>cpdf_continue_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-page-animation">
<refnamediv>
<refname>cpdf_set_page_animation</refname>
<refpurpose>Sets duration between pages</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_page_animation</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>transition</parameter></methodparam>
<methodparam><type>float</type><parameter>duration</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_page_animation</function> function set the
transition between following pages.
</para>
<para>
The value of <parameter>transition</parameter>
can be
<simplelist>
<member>0 for none,</member>
<member>
1 for two lines sweeping across the screen reveal the page,
</member>
<member>
2 for multiple lines sweeping across the screen reveal the page,
</member>
<member>3 for a box reveals the page,</member>
<member>
4 for a single line sweeping across the screen reveals the page,
</member>
<member>5 for the old page dissolves to reveal the page,</member>
<member>
6 for the dissolve effect moves from one screen edge to another,
</member>
<member>
7 for the old page is simply replaced by the new page (default)
</member>
</simplelist>
</para>
<para>
The value of <parameter>duration</parameter> is the number of seconds
between page flipping.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-subject">
<refnamediv>
<refname>cpdf_set_subject</refname>
<refpurpose>Sets the subject field of the pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_subject</methodname>
<methodparam><type>string</type><parameter>subject</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_subject</function> function sets the
subject of a pdf document.
</para>
<para>
See also <function>cpdf_set_title</function>,
<function>cpdf_set_creator</function>,
<function>cpdf_set_keywords</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-text-matrix">
<refnamediv>
<refname>cpdf_set_text_matrix</refname>
<refpurpose>Sets the text matrix</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_text_matrix</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>array</type><parameter>matrix</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_text_matrix</function> function sets
a matrix which describes a transformation applied on the current
text font.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-text-pos">
<refnamediv>
<refname>cpdf_set_text_pos</refname>
<refpurpose>Sets text position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_text_pos</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_text_pos</function> function sets the
position of text for the next <function>cpdf_show</function>
function call.
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page is
used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
<para>
See also <function>cpdf_show</function>,
<function>cpdf_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-text-rendering">
<refnamediv>
<refname>cpdf_set_text_rendering</refname>
<refpurpose>Determines how text is rendered</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_text_rendering</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_text_rendering</function> function
determines how text is rendered.
</para>
<para>
The possible values for <parameter>mode</parameter> are 0=fill
text, 1=stroke text, 2=fill and stroke text, 3=invisible, 4=fill
text and add it to clipping path, 5=stroke text and add it to
clipping path, 6=fill and stroke text and add it to clipping
path, 7=add it to clipping path.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-text-rise">
<refnamediv>
<refname>cpdf_set_text_rise</refname>
<refpurpose>Sets the text rise</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_text_rise</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_text_rise</function> function sets the
text rising to <parameter>value</parameter> units.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-title">
<refnamediv>
<refname>cpdf_set_title</refname>
<refpurpose>Sets the title field of the pdf document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_title</methodname>
<methodparam><type>string</type><parameter>title</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_title</function> function sets the
title of a pdf document.
</para>
<para>
See also <function>cpdf_set_subject</function>,
<function>cpdf_set_creator</function>,
<function>cpdf_set_keywords</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-set-word-spacing">
<refnamediv>
<refname>cpdf_set_word_spacing</refname>
<refpurpose>Sets spacing between words</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_word_spacing</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>space</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_set_word_spacing</function> function sets the
spacing between words.
</para>
<para>
See also <function>cpdf_set_char_spacing</function>,
<function>cpdf_set_leading</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setdash">
<refnamediv>
<refname>cpdf_setdash</refname>
<refpurpose>Sets dash pattern</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setdash</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>white</parameter></methodparam>
<methodparam><type>float</type><parameter>black</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setdash</function> function set the dash
pattern <parameter>white</parameter> white units and
<parameter>black</parameter> black units. If both are 0 a solid
line is set.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setflat">
<refnamediv>
<refname>cpdf_setflat</refname>
<refpurpose>Sets flatness</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setflat</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setflat</function> function set the flatness to
a value between 0 and 100.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setgray">
<refnamediv>
<refname>cpdf_setgray</refname>
<refpurpose>Sets drawing and filling color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setgray</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>gray value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setgray</function> function sets the current
drawing and filling color to the given gray value.
</para>
<para>
See also <function>cpdf_setrgbcolor_stroke</function>,
<function>cpdf_setrgbcolor_fill</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setgray-fill">
<refnamediv>
<refname>cpdf_setgray_fill</refname>
<refpurpose>Sets filling color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setgray_fill</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setgray_fill</function> function sets the current
gray value to fill a path.
</para>
<para>
See also <function>cpdf_setrgbcolor_fill</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setgray-stroke">
<refnamediv>
<refname>cpdf_setgray_stroke</refname>
<refpurpose>Sets drawing color to gray value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setgray_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>gray value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setgray_stroke</function> function sets the current
drawing color to the given gray value.
</para>
<para>
See also <function>cpdf_setrgbcolor_stroke</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setlinecap">
<refnamediv>
<refname>cpdf_setlinecap</refname>
<refpurpose>Sets linecap parameter</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setlinecap</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>int</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setlinecap</function> function set the linecap
parameter between a value of 0 and 2. 0 = butt end, 1 = round,
2 = projecting square.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setlinejoin">
<refnamediv>
<refname>cpdf_setlinejoin</refname>
<refpurpose>Sets linejoin parameter</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setlinejoin</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>long</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setlinejoin</function> function set the
linejoin parameter between a value of 0 and 2. 0 = miter, 1 =
round, 2 = bevel.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setlinewidth">
<refnamediv>
<refname>cpdf_setlinewidth</refname>
<refpurpose>Sets line width</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setlinewidth</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setlinewidth</function> function set the line
width to <parameter>width</parameter>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setmiterlimit">
<refnamediv>
<refname>cpdf_setmiterlimit</refname>
<refpurpose>Sets miter limit</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setmiterlimit</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setmiterlimit</function> function set the
miter limit to a value greater or equal than 1.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setrgbcolor">
<refnamediv>
<refname>cpdf_setrgbcolor</refname>
<refpurpose>Sets drawing and filling color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setrgbcolor</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>red value</parameter></methodparam>
<methodparam><type>float</type><parameter>green value</parameter></methodparam>
<methodparam><type>float</type><parameter>blue value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setrgbcolor</function> function sets the current
drawing and filling color to the given rgb color value.
</para>
<para>
See also <function>cpdf_setrgbcolor_stroke</function>,
<function>cpdf_setrgbcolor_fill</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setrgbcolor-fill">
<refnamediv>
<refname>cpdf_setrgbcolor_fill</refname>
<refpurpose>Sets filling color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setrgbcolor_fill</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>red value</parameter></methodparam>
<methodparam><type>float</type><parameter>green value</parameter></methodparam>
<methodparam><type>float</type><parameter>blue value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setrgbcolor_fill</function> function sets the current
rgb color value to fill a path.
</para>
<para>
See also <function>cpdf_setrgbcolor_stroke</function>,
<function>cpdf_setrgbcolor</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-setrgbcolor-stroke">
<refnamediv>
<refname>cpdf_setrgbcolor_stroke</refname>
<refpurpose>Sets drawing color to rgb color value</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_setrgbcolor_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>red value</parameter></methodparam>
<methodparam><type>float</type><parameter>green value</parameter></methodparam>
<methodparam><type>float</type><parameter>blue value</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_setrgbcolor_stroke</function> function sets the current
drawing color to the given rgb color value.
</para>
<para>
See also <function>cpdf_setrgbcolor_fill</function>,
<function>cpdf_setrgbcolor</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-show">
<refnamediv>
<refname>cpdf_show</refname>
<refpurpose>Output text at current position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_show</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_show</function> function outputs the
string in <parameter>text</parameter> at the current position.
</para>
<para>
See also <function>cpdf_text</function>,
<function>cpdf_begin_text</function>,
<function>cpdf_end_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-show-xy">
<refnamediv>
<refname>cpdf_show_xy</refname>
<refpurpose>Output text at position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_show_xy</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_show_xy</function> function outputs the
string <parameter>text</parameter> at position with coordinates
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page is
used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
<note>
<simpara>
The function <function>cpdf_show_xy</function> is identical to
<function>cpdf_text</function> without the optional parameters.
</simpara>
</note>
</para>
<para>
See also <function>cpdf_text</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-stringwidth">
<refnamediv>
<refname>cpdf_stringwidth</refname>
<refpurpose>Returns width of text in current font</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>float</type><methodname>cpdf_stringwidth</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_stringwidth</function> function returns the
width of the string in <parameter>text</parameter>. It requires
a font to be set before.
</para>
<para>
See also <function>cpdf_set_font</function>.
</para>
</refsect1>
</refentry>
<refentry id='function.cpdf-set-font-directories'>
<refnamediv>
<refname>cpdf_set_font_directories</refname>
<refpurpose>
Sets directories to search when using external fonts
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_font_directories</methodname>
<methodparam><type>int</type><parameter>pdfdoc</parameter></methodparam>
<methodparam><type>string</type><parameter>pfmdir</parameter></methodparam>
<methodparam><type>string</type><parameter>pfbdir</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</para>
</refsect1>
</refentry>
<refentry id='function.cpdf-set-font-map-file'>
<refnamediv>
<refname>cpdf_set_font_map_file</refname>
<refpurpose>
Sets fontname to filename translation map when using external fonts
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_font_map_file</methodname>
<methodparam><type>int</type><parameter>pdfdoc</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</para>
</refsect1>
</refentry>
<refentry id='function.cpdf-set-viewer-preferences'>
<refnamediv>
<refname>cpdf_set_viewer_preferences</refname>
<refpurpose>
How to show the document in the viewer
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_viewer_preferences</methodname>
<methodparam><type>int</type><parameter>pdfdoc</parameter></methodparam>
<methodparam><type>array</type><parameter>preferences</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-stroke">
<refnamediv>
<refname>cpdf_stroke</refname>
<refpurpose>Draw line along path</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_stroke</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_stroke</function> function draws a line along
current path.
</para>
<para>
See also <function>cpdf_closepath</function>,
<function>cpdf_closepath_stroke</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-text">
<refnamediv>
<refname>cpdf_text</refname>
<refpurpose>Output text with parameters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_text</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
<methodparam choice="opt"><type>float</type><parameter>orientation</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>alignmode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_text</function> function outputs the string
<parameter>text</parameter> at position with coordinates
(<parameter>x-coor</parameter>, <parameter>y-coor</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the
unit length. If it's 0 or omitted the default unit as specified
for the page is used. Otherwise the coordinates are measured in
postscript points disregarding the current unit. The optional
parameter <parameter>orientation</parameter> is the rotation of
the text in degree. The optional parameter
<parameter>alignmode</parameter> determines how the text is
aligned.
</para>
<para>
See the ClibPDF documentation for possible values.
</para>
<para>
See also <function>cpdf_show_xy</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.cpdf-translate">
<refnamediv>
<refname>cpdf_translate</refname>
<refpurpose>Sets origin of coordinate system</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_translate</methodname>
<methodparam><type>int</type><parameter>pdf document</parameter></methodparam>
<methodparam><type>float</type><parameter>x-coor</parameter></methodparam>
<methodparam><type>float</type><parameter>y-coor</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
The <function>cpdf_translate</function> function set the origin of
coordinate system to the point (<parameter>x-coor</parameter>,
<parameter>y-coor</parameter>).
</para>
<para>
The optional parameter <parameter>mode</parameter> determines the unit
length. If it's 0 or omitted the default unit as specified for the page
is used. Otherwise the coordinates are measured in postscript points
disregarding the current unit.
</para>
</refsect1>
</refentry>
<refentry id='function.cpdf-set-action-url'>
<refnamediv>
<refname>cpdf_set_action_url</refname>
<refpurpose>
Sets hyperlink
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>cpdf_set_action_url</methodname>
<methodparam><type>int</type><parameter>pdfdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>xll</parameter></methodparam>
<methodparam><type>float</type><parameter>yll</parameter></methodparam>
<methodparam><type>float</type><parameter>xur</parameter></methodparam>
<methodparam><type>float</type><parameter>xur</parameter></methodparam>
<methodparam><type>string</type><parameter>url</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</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
-->