<reference id="ref.cpdf"> <title>ClibPDF functions</title> <titleabbrev>ClibPDF</titleabbrev> <partintro> <simpara> ClibPDF allows to create pdf documents with PHP. It is available at <ulink url="http://www.fastio.com">FastIO</ulink> but is not free software. You should definitely read the licence before you start playing with ClibPDF. If you cannot fullfil the licence agreement consider using pdflib by Thomas Merz, which is also very powerful. ClibPDF functionality and API is similar to Thomas Merz pdflib but ClibPDF is, according to FastIO, faster and creates smaller documents. This may have changed with the new version 2.0 of pdflib. A simple benchmark (the pdfclock.c example from pdflib 2.0 turned into a php script) actually show no difference in speed at all. The file size is also similar if compression is turned off. <simpara> This documentation should be read with the ClibPDF manual since it explains much of the library in much more detail. Once you understand the manual of ClibPDF you should be able to start using the library with PHP. <simpara> Many functions in the native ClibPDF and the PHP module, as well as in pdflib, have the same name. All functions except for <function>cpdf_open</function> take as their first parameter the handle for the document on which the function is to be performed. 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 cannot 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> One big advantage of ClibPDF over pdflib is the possibility 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 is a handy feature but can be simulated with <function>pdf_translate</function>. <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 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. <example> <title>Simple ClibPDF Example</title> <programlisting> <?php $cpdf = cpdf_open(0); cpdf_page_init($cpdf, 1, 0, 595, 842); cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); cpdf_set_font($cpdf, "Times-Roman", 30, 4); cpdf_set_text_rendering($cpdf, 1); cpdf_text($cpdf, "Times Roman outlined", 50, 750); 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: <example> <title>pdfclock example from pdflib 2.0 distribution</title> <programlisting> <?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-set-creator"> <refnamediv> <refname>cpdf_set_creator</refname> <refpurpose>Sets the creator field in the pdf document</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_set_creator</function></funcdef> <paramdef>string <parameter>creator</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_creator</function> function sets the creator of a pdf document. <para> See also <function>cpdf_set_subject</function>, <function>cpdf_set_title</function>, <function>cpdf_set_keywords</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_title</function></funcdef> <paramdef>string <parameter>title</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_title</function> function sets the title of a pdf document. <para> See also <function>cpdf_set_subject</function>, <function>cpdf_set_creator</function>, <function>cpdf_set_keywords</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_subject</function></funcdef> <paramdef>string <parameter>subject</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_subject</function> function sets the subject of a pdf document. <para> See also <function>cpdf_set_title</function>, <function>cpdf_set_creator</function>, <function>cpdf_set_keywords</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_keywords</function></funcdef> <paramdef>string <parameter>keywords</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_keywords</function> function sets the keywords of a pdf document. <para> See also <function>cpdf_set_title</function>, <function>cpdf_set_creator</function>, <function>cpdf_set_subject</function>. </refsect1> </refentry> <refentry id="function.cpdf-open"> <refnamediv> <refname>cpdf_open</refname> <refpurpose>Opens a new pdf document</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>int <function>cpdf_open</function></funcdef> <paramdef>int <parameter>compression</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcsynopsis> <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 futher 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> See also <function>cpdf_close</function>, <function>cpdf_output_buffer</function>. </refsect1> </refentry> <refentry id="function.cpdf-close"> <refnamediv> <refname>cpdf_close</refname> <refpurpose>Closes the pdf document</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_close</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> See also <function>cpdf_open</function>. </refsect1> </refentry> <refentry id="function.cpdf-page-init"> <refnamediv> <refname>cpdf_page_init</refname> <refpurpose>Starts new page</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_page_init</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>page number</parameter></paramdef> <paramdef>int <parameter>orientation</parameter></paramdef> <paramdef>double <parameter>height</parameter></paramdef> <paramdef>double <parameter>width</parameter></paramdef> <paramdef>double <parameter>unit</parameter></paramdef> </funcsynopsis> <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 koordinate 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> See also <function>cpdf_set_current_page</function>. </refsect1> </refentry> <refentry id="function.cpdf-finalize-page"> <refnamediv> <refname>cpdf_finalize_page</refname> <refpurpose>Ends page</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_finalize_page</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>page number</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_finalize_page</function> function ends the page with page number <parameter>page number</parameter>. This function is only for saving memory. A finalized page takes less memory but cannot be modified anymore. <para> See also <function>cpdf_page_init</function>. </refsect1> </refentry> <refentry id="function.cpdf-finalize"> <refnamediv> <refname>cpdf_finalize</refname> <refpurpose>Ends document</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_finalize</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_finalize</function> function ends the document. You still have to call <function>cpdf_close</function>. <para> See also <function>cpdf_close</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_output_buffer</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> See also <function>cpdf_open</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_save_to_file</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_save_to_file</function> function outputs the pdf document into a file if it has been created in memory. 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> See also <function>cpdf_output_buffer</function>, <function>cpdf_open</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_current_page</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>page number</parameter></paramdef> </funcsynopsis> <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> See also <function>cpdf_finalize_page</function>. </refsect1> </refentry> <refentry id="function.cpdf-begin-text"> <refnamediv> <refname>cpdf_begin_text</refname> <refpurpose>Starts text section</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_begin_text</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> <?php cpdf_begin_text($pdf); cpdf_set_font($pdf, 16, "Helvetica", 4); cpdf_text($pdf, 100, 100, "Some text"); cpdf_end_text($pdf) ?> </programlisting></example> <para> See also <function>cpdf_end_text</function>. </refsect1> </refentry> <refentry id="function.cpdf-end-text"> <refnamediv> <refname>cpdf_end_text</refname> <refpurpose>Starts text section</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_end_text</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> <?php cpdf_begin_text($pdf); cpdf_set_font($pdf, 16, "Helvetica", 4); cpdf_text($pdf, 100, 100, "Some text"); cpdf_end_text($pdf) ?> </programlisting></example> <para> See also <function>cpdf_begin_text</function>. </refsect1> </refentry> <refentry id="function.cpdf-show"> <refnamediv> <refname>cpdf_show</refname> <refpurpose>Output text at current position</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_show</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_show</function> function outputs the string in <parameter>text</parameter> at the current position. <para> See also <function>cpdf_text</function>, <function>cpdf_begin_text</function>, <function>cpdf_end_text</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_show_xy</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_show_xy</function> function outputs the string <parameter>text</parameter> at position with coordinates (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates 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> See also <function>cpdf_text</function>. </refsect1> </refentry> <refentry id="function.cpdf-text"> <refnamediv> <refname>cpdf_text</refname> <refpurpose>Output text with parameters</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_text</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> <paramdef>double <parameter>orientation</parameter></paramdef> <paramdef>int <parameter>alignmode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_text</function> function outputs the string <parameter>text</parameter> at position with coordinates (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). The optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates 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 align. See the ClibPDF documentation for possible values. <para> See also <function>cpdf_show_xy</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_font</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>font name</parameter></paramdef> <paramdef>double <parameter>size</parameter></paramdef> <paramdef>int <parameter>encoding</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_font</function> function sets the the current font face, font size and encoding. Currently only the standard postscript fonts are supported. The last parameter <parameter>encoding</parameter> can take the following values: 2 = macroman, 3 = macexpert, 4 = winansi. Any other value selects the font's buildin encoding. </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> <funcsynopsis> <funcdef>void <function>cpdf_set leading</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>distance</parameter></paramdef> </funcsynopsis> <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> See also <function>cpdf_continue_text</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_text_rendering</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_text_rendering</function> function determines how text is rendered. 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 cliping path, 5=stroke text and add it to clipping path, 6=fill and stroke text and add it to cliping path, 7=add it to clipping path. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_horiz_scaling</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>scale</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_horiz_scaling</function> function sets the horizontal scaling to <parameter>scale</parameter> percent. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_text_rise</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_text_rise</function> function sets the text rising to <parameter>value</parameter> units. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_text_matrix</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>array <parameter>matrix</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_text_matrix</function> function sets a matrix which describes a transformation applied on the current text font. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_text_pos</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_text_pos</function> function sets the position of text for the next <function>cpdf_show</function> function call. <para> The last optional parameter <parameter>mode</parameter> determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_show</function>, <function>cpdf_text</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_char_spacing</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>space</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_char_spacing</function> function sets the spacing between characters. <para> See also <function>cpdf_set_word_spacing</function>, <function>cpdf_set_leading</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_set_word_spacing</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>space</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_word_spacing</function> function sets the spacing between words. <para> See also <function>cpdf_set_char_spacing</function>, <function>cpdf_set_leading</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_continue_text</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_continue_text</function> function outputs the string in <parameter>text</parameter> in the next line. <para> See also <function>cpdf_show_xy</function>, <function>cpdf_text</function>, <function>cpdf_set_leading</function>, <function>cpdf_set_text_pos</function>. </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> <funcsynopsis> <funcdef>double <function>cpdf_stringwidth</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcsynopsis> <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> See also <function>cpdf_set_font</function>. </refsect1> </refentry> <refentry id="function.cpdf-save"> <refnamediv> <refname>cpdf_save</refname> <refpurpose>Saves current enviroment</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_save</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_save</function> function saves the current enviroment. It works like the postscript command gsave. Very useful if you want to translate or rotate an object without effecting other objects. <para> See also <function>cpdf_restore</function>. </refsect1> </refentry> <refentry id="function.cpdf-restore"> <refnamediv> <refname>cpdf_restore</refname> <refpurpose>Restores formerly saved enviroment</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_restore</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_restore</function> function restores the enviroment 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> <?php cpdf_save($pdf); // do all kinds of rotations, transformations, ... cpdf_restore($pdf) ?> </programlisting></example> <para> See also <function>cpdf_save</function>. </refsect1> </refentry> <refentry id="function.cpdf-translate"> <refnamediv> <refname>cpdf_translate</refname> <refpurpose>Sets origin of coordinate system</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_translate</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_translate</function> function set the origin of coordinate system to the point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. </refsect1> </refentry> <refentry id="function.cpdf-scale"> <refnamediv> <refname>cpdf_scale</refname> <refpurpose>Sets scaling</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_scale</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-scale</parameter></paramdef> <paramdef>double <parameter>y-scale</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_scale</function> function set the scaling factor in both directions. </refsect1> </refentry> <refentry id="function.cpdf-rotate"> <refnamediv> <refname>cpdf_rotate</refname> <refpurpose>Sets rotation</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_rotate</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>angle</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_rotate</function> function set the rotation in degress to <parameter>angle</parameter>. </refsect1> </refentry> <refentry id="function.cpdf-setflat"> <refnamediv> <refname>cpdf_setflat</refname> <refpurpose>Sets flatness</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setflat</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setflat</function> function set the flatness to a value between 0 and 100. </refsect1> </refentry> <refentry id="function.cpdf-setlinejoin"> <refnamediv> <refname>cpdf_setlinejoin</refname> <refpurpose>Sets linejoin parameter</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setlinejoin</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>long <parameter>value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setlinejoin</function> function set the linejoin parameter between a value of 0 and 2. 0 = miter, 1 = round, 2 = bevel. </refsect1> </refentry> <refentry id="function.cpdf-setlinecap"> <refnamediv> <refname>cpdf_setlinecap</refname> <refpurpose>Sets linecap aparameter</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setlinecap</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>value</parameter></paramdef> </funcsynopsis> <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. </refsect1> </refentry> <refentry id="function.cpdf-setmiterlimit"> <refnamediv> <refname>cpdf_setmiterlimit</refname> <refpurpose>Sets miter limit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setmiterlimit</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setmiterlimit</function> function set the miter limit to a value greater or equal than 1. </refsect1> </refentry> <refentry id="function.cpdf-setlinewidth"> <refnamediv> <refname>cpdf_setlinewidth</refname> <refpurpose>Sets line width</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setlinewidth</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>width</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setlinewidth</function> function set the line width to <parameter>width</parameter>. </refsect1> </refentry> <refentry id="function.cpdf-setdash"> <refnamediv> <refname>cpdf_setdash</refname> <refpurpose>Sets dash pattern</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_setdash</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>white</parameter></paramdef> <paramdef>double <parameter>black</parameter></paramdef> </funcsynopsis> <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. </refsect1> </refentry> <refentry id="function.cpdf-moveto"> <refnamediv> <refname>cpdf_moveto</refname> <refpurpose>Sets current point</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_moveto</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_moveto</function> function set the current point to the coordinates <parameter>x-koor</parameter> and <parameter>y-koor</parameter>. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. </refsect1> </refentry> <refentry id="function.cpdf-rmoveto"> <refnamediv> <refname>cpdf_rmoveto</refname> <refpurpose>Sets current point</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_rmoveto</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_rmoveto</function> function set the current point relative to the coordinates <parameter>x-koor</parameter> and <parameter>y-koor</parameter>. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_moveto</function>. </refsect1> </refentry> <refentry id="function.cpdf-curveto"> <refnamediv> <refname>cpdf_curveto</refname> <refpurpose>Draws a curve</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_curveto</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x1</parameter></paramdef> <paramdef>double <parameter>y1</parameter></paramdef> <paramdef>double <parameter>x2</parameter></paramdef> <paramdef>double <parameter>y2</parameter></paramdef> <paramdef>double <parameter>x3</parameter></paramdef> <paramdef>double <parameter>y3</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <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> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function>, <function>cpdf_rlineto</function>, <function>cpdf_lineto</function>. </refsect1> </refentry> <refentry id="function.cpdf-lineto"> <refnamediv> <refname>cpdf_lineto</refname> <refpurpose>Draws a line</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_lineto</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_lineto</function> function draws a line from the current point to the point with coordinates (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function>, <function>cpdf_curveto</function>. </refsect1> </refentry> <refentry id="function.cpdf-rlineto"> <refnamediv> <refname>cpdf_rlineto</refname> <refpurpose>Draws a line</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_rlineto</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_rlineto</function> function draws a line from the current point to the relative point with coordinates (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function>, <function>cpdf_curveto</function>. </refsect1> </refentry> <refentry id="function.cpdf-circle"> <refnamediv> <refname>cpdf_circle</refname> <refpurpose>Draw a circle</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_circle</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>double <parameter>radius</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_circle</function> function draws a circle with center at point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) and radius <parameter>radius</parameter>. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_arc</function>. </refsect1> </refentry> <refentry id="function.cpdf-arc"> <refnamediv> <refname>cpdf_arc</refname> <refpurpose>Draws an arc</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_arc</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>double <parameter>radius</parameter></paramdef> <paramdef>double <parameter>start</parameter></paramdef> <paramdef>double <parameter>end</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_arc</function> function draws an arc with center at point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) and radius <parameter>radius</parameter>, starting at angle <parameter>start</parameter> and ending at angle <parameter>end</parameter>. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_circle</function>. </refsect1> </refentry> <refentry id="function.cpdf-rect"> <refnamediv> <refname>cpdf_rect</refname> <refpurpose>Draw a rectangle</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_rect</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>double <parameter>width</parameter></paramdef> <paramdef>double <parameter>height</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_rect</function> function draws a rectangle with its lower left corner at point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). This width is set to <parameter>widgth</parameter>. This height is set to <parameter>height</parameter>. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. </refsect1> </refentry> <refentry id="function.cpdf-closepath"> <refnamediv> <refname>cpdf_closepath</refname> <refpurpose>Close path</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_closepath</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_closepath</function> function closes the current path. </refsect1> </refentry> <refentry id="function.cpdf-stroke"> <refnamediv> <refname>cpdf_stroke</refname> <refpurpose>Draw line along path</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_stroke</function> function draws a line along current path. <para> See also <function>cpdf_closepath</function>, <function>cpdf_closepath_stroke</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_closepath_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_closepath_stroke</function> function is a combination of <function>cpdf_closepath</function> and <function>cpdf_stroke</function>. Than clears the path. <para> See also <function>cpdf_closepath</function>, <function>cpdf_stroke</function>. </refsect1> </refentry> <refentry id="function.cpdf-fill"> <refnamediv> <refname>cpdf_fill</refname> <refpurpose>Fill current path</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_fill</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_fill</function> function fills the interior of the current path with the current fill color. <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>. </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> <funcsynopsis> <funcdef>void <function>cpdf_fill_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> 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>. </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> <funcsynopsis> <funcdef>void <function>cpdf_closepath_fill_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <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> 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>. </refsect1> </refentry> <refentry id="function.cpdf-clip"> <refnamediv> <refname>cpdf_clip</refname> <refpurpose>Clips to current path</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_clip</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_clip</function> function clips all drawing to the current path. </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> <funcsynopsis> <funcdef>void <function>cpdf_setgray_fill</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setgray_fill</function> function sets the current gray value to fill a path. <para> See also <function>cpdf_setrgbcolor_fill</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_setgray_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>gray value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setgray_stroke</function> function sets the current drawing color to the given gray value. <para> See also <function>cpdf_setrgbcolor_stroke</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_setgray</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>gray value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setgray_stroke</function> function sets the current drawing and filling color to the given gray value. <para> See also <function>cpdf_setrgbcolor_stroke</function>, <function>cpdf_setrgbcolor_fill</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_setrgbcolor_fill</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>red value</parameter></paramdef> <paramdef>double <parameter>green value</parameter></paramdef> <paramdef>double <parameter>blue value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setrgbcolor_fill</function> function sets the current rgb color value to fill a path. <para> See also <function>cpdf_setrgbcolor_stroke</function>, <function>cpdf_setrgbcolor</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_setrgbcolor_stroke</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>red value</parameter></paramdef> <paramdef>double <parameter>green value</parameter></paramdef> <paramdef>double <parameter>blue value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setrgbcolor_stroke</function> function sets the current drawing color to the given rgb color value. <para> See also <function>cpdf_setrgbcolor_fill</function>, <function>cpdf_setrgbcolor</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_setrgbcolor</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>red value</parameter></paramdef> <paramdef>double <parameter>green value</parameter></paramdef> <paramdef>double <parameter>blue value</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_setrgbcolor_stroke</function> function sets the current drawing and filling color to the given rgb color value. <para> See also <function>cpdf_setrgbcolor_stroke</function>, <function>cpdf_setrgbcolor_fill</function>. </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> <funcsynopsis> <funcdef>void <function>cpdf_add_outline</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcsynopsis> <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> <?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> <para> </example> </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> <funcsynopsis> <funcdef>void <function>cpdf_set_page_animation</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>transition</parameter></paramdef> <paramdef>double <parameter>duration</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_set_page_animation</function> function set the transition between following pages. <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> The value of <parameter>duration</parameter> is the number of seconds between page flipping. </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> <funcsynopsis> <funcdef>int <function>cpdf_open_jpeg</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>string <parameter>file name</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>double <parameter>angle</parameter></paramdef> <paramdef>double <parameter>width</parameter></paramdef> <paramdef>double <parameter>height</parameter></paramdef> <paramdef>double <parameter>x-scale</parameter></paramdef> <paramdef>double <parameter>y-scale</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <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-koor</parameter>, <parameter>y-koor</parameter>). The image is rotated by <parameter>angle</parameter> degres. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_place_inline_image</function>, </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> <funcsynopsis> <funcdef>void <function>cpdf_place_inline_image</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>int <parameter>image</parameter></paramdef> <paramdef>double <parameter>x-koor</parameter></paramdef> <paramdef>double <parameter>y-koor</parameter></paramdef> <paramdef>double <parameter>angle</parameter></paramdef> <paramdef>double <parameter>width</parameter></paramdef> <paramdef>double <parameter>height</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <para> The <function>cpdf_place_inline_image</function> function places an image created with the php image functions on the page at postion (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). The image can be scaled at the same time. <para> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. <para> See also <function>cpdf_import_jpeg</function>, </refsect1> </refentry> <refentry id="function.cpdf-add-annotation"> <refnamediv> <refname>cpdf_add_annotation</refname> <refpurpose>Adds annotation</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcdef>void <function>cpdf_add_annotation</function></funcdef> <paramdef>int <parameter>pdf document</parameter></paramdef> <paramdef>double <parameter>llx</parameter></paramdef> <paramdef>double <parameter>lly</parameter></paramdef> <paramdef>double <parameter>urx</parameter></paramdef> <paramdef>double <parameter>ury</parameter></paramdef> <paramdef>string <parameter>title</parameter></paramdef> <paramdef>string <parameter>content</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcsynopsis> <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> The last optional parameter determines the unit length. If is 0 or omitted the default unit as specified for the page is used. Otherwise the koodinates are measured in postscript points disregarding the current unit. </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 sgml-parent-document:nil sgml-default-dtd-file:"../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->