<HTML ><HEAD ><TITLE >PDF functions</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK REL="HOME" TITLE="PHP Manual" HREF="manual.html"><LINK REL="UP" TITLE="Function Reference" HREF="funcref.html"><LINK REL="PREVIOUS" TITLE="OCIInternalDebug" HREF="function.ociinternaldebug.html"><LINK REL="NEXT" TITLE="PDF_get_info" HREF="function.pdf-get-info.html"></HEAD ><BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.ociinternaldebug.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.pdf-get-info.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="reference" ><A NAME="ref.pdf" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" >XXXIX. PDF functions</H1 ><DIV CLASS="PARTINTRO" ><A NAME="AEN21117" ></A ><P > You can use the PDF functions in PHP to create PDF files if you have the PDF library by Thomas Merz (available at <A HREF="http://www.pdflib.com/pdflib/index.html" TARGET="_top" >http://www.pdflib.com/pdflib/index.html</A >; you will also need <A HREF="ftp://ftp.uu.net/graphics/jpeg/" TARGET="_top" >the JPEG library</A > and <A HREF="http://www.libtiff.org/" TARGET="_top" >the TIFF library</A > to compile this. These two libs also quite often make problems when configuring php. Follow the messages of configure to fix possible problems. If you use pdflib 2.01 check how the lib was installed. There should be file or link libpdf.so. Version 2.01 just creates a lib with the name libpdf2.01.so which cannot be found when linking the test programm in configure. You will have to create a symbolic link from libpdf.so to libpdf2.01.so.). </P ><P > Version 2.20 of pdflib has introduced more changes to its API and support for chinese and japanese fonts. This unfortunately causes some changes of the pdf module of php4 (not php3). If you use pdflib 2.20 handle the in memory generation of PDF documents with care. Until pdflib 3.0 is released it might be unstable. The encoding parameter of <A HREF="function.pdf-set-font.html" ><B CLASS="function" >pdf_set_font()</B ></A > has changed to a string. This means that instead of e.g. 4 you have to use 'winansi'. </P ><P > If you use pdflib 2.30 the <A HREF="function.pdf-set-text-matrix.html" ><B CLASS="function" >pdf_set_text_matrix()</B ></A > will have gone. It is not supported any more. In general it is a good advise to consult the release notes of the used version of pdflib for possible changes. </P ><P > Please consult the excellent documentation for pdflib shipped with the source distribution of pdflib. It provides a very good overview of what pdflib capable of doing. Most of the functions in pdflib and the PHP module have the same name. The parameters are also identical. You should also understand some of the concepts of PDF or Postscript to efficiently use this module. All lengths and coordinates are measured in Postscript points. There are generally 72 PostScript points to an inch, but this depends on the output resolution. </P ><P > There is another PHP module for pdf document creation based on <A HREF="http://www.fastio.com" TARGET="_top" >FastIO's</A >. ClibPDF. It has a slightly different API. Check the <A HREF="ref.cpdf.html" >ClibPDF functions</A > section for details. </P ><P > Currently all versions of pdflib are supported. It is recommended that you use the newest version since it has more features and fixes some problems which required a patch for the old version. Unfortunately, the changes of the pdflib API in 2.x compared to 0.6 have been so severe that even some PHP functions had to be altered. Here is a list of changes: </P ><P ></P ><UL ><LI ><P > The Info structure does not exist anymore. Therefore the function <A HREF="function.pdf-get-info.html" ><B CLASS="function" >pdf_get_info()</B ></A > is obsolete and the functions <A HREF="function.pdf-set-info-creator.html" ><B CLASS="function" >pdf_set_info_creator()</B ></A >, <A HREF="function.pdf-set-info-title.html" ><B CLASS="function" >pdf_set_info_title()</B ></A >, <A HREF="function.pdf-set-info-author.html" ><B CLASS="function" >pdf_set_info_author()</B ></A >, <A HREF="function.pdf-set-info-subject.html" ><B CLASS="function" >pdf_set_info_subject()</B ></A > and <A HREF="function.pdf-set-info-keywords.html" ><B CLASS="function" >pdf_set_info_keywords()</B ></A > do not take the info structure as the first parameter but the pdf document. This also means that the pdf document must be opened before these functions can be called. </P ></LI ><LI ><P > The way a new document is opened has changed. The function <A HREF="function.pdf-open.html" ><B CLASS="function" >pdf_open()</B ></A > takes only one parameter which is the file handle of a file opened with <A HREF="function.fopen.html" ><B CLASS="function" >fopen()</B ></A >. </P ></LI ></UL ><P > There were some more changes with the release 2.01 of pdflib which should be covered by PHP. Some functions are not required anymore (e.g. <A HREF="function.pdf-put-image.html" ><B CLASS="function" >pdf_put_image()</B ></A >). You will get a warning so don't be shocked.</P ><P > The pdf module introduces two new types of variables (if pdflib 2.x is used it is only one new type). They are called <TT CLASS="parameter" ><I >pdfdoc</I ></TT > and <TT CLASS="parameter" ><I >pdfinfo</I ></TT > (<TT CLASS="parameter" ><I >pdfinfo</I ></TT > is not existent if pdflib 2.x is used. <TT CLASS="parameter" ><I >pdfdoc</I ></TT > is a pointer to a pdf document and almost all functions need it as its first parameter. <TT CLASS="parameter" ><I >pdfinfo</I ></TT > contains meta data about the PDF document. It has to be set before <A HREF="function.pdf-open.html" ><B CLASS="function" >pdf_open()</B ></A > is called.</P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B >The following is only true for pdflib 0.6. Read the pdflib manual for newer version</P ></BLOCKQUOTE ></DIV ><P > In order to output text into a PDF document you will need to provide the afm file for each font. Afm files contain font metrics for a Postscript font. By default these afm files are searched for in a directory named 'fonts' relative to the directory where the PHP script is located. (Again, this was true for pdflib 0.6, newer versions do not not neccessarily need the afm files.)</P ><P > Most of the functions are fairly easy to use. The most difficult part is probably to create a very simple pdf document at all. The following example should help to get started. It uses the PHP functions for pdflib 0.6. It creates the file test.pdf with one page. The page contains the text "Times-Roman" in an outlined 30pt font. The text is also underlined.</P ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><P ><B >Example 1. Creating a PDF document with pdflib 0.6</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 <?php 3 $fp = fopen("test.pdf", "w"); 4 $info = PDF_get_info(); 5 pdf_set_info_author($info, "Uwe Steinmann"); 6 PDF_set_info_title($info, "Test for PHP wrapper of PDFlib 0.6"); 7 PDF_set_info_author($info, "Name of Author"); 8 pdf_set_info_creator($info, "See Author"); 9 pdf_set_info_subject($info, "Testing"); 10 $pdf = PDF_open($fp, $info); 11 PDF_begin_page($pdf, 595, 842); 12 PDF_add_outline($pdf, "Page 1"); 13 pdf_set_font($pdf, "Times-Roman", 30, 4); 14 pdf_set_text_rendering($pdf, 1); 15 PDF_show_xy($pdf, "Times Roman outlined", 50, 750); 16 pdf_moveto($pdf, 50, 740); 17 pdf_lineto($pdf, 330, 740); 18 pdf_stroke($pdf); 19 PDF_end_page($pdf); 20 PDF_close($pdf); 21 fclose($fp); 22 echo "<A HREF=getpdf.php3>finished</A>"; 23 ?> 24 </PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><P > The PHP script getpdf.php3 just outputs the pdf document. <DIV CLASS="informalexample" ><P ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 <?php 3 $fp = fopen("test.pdf", "r"); 4 header("Content-type: application/pdf"); 5 fpassthru($fp); 6 fclose($fp); 7 ?> 8 </PRE ></TD ></TR ></TABLE ><P ></P ></DIV > Doing the same with pdflib 2.x looks like the following: <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><P ><B >Example 2. Creating a PDF document with pdflib 2.x</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 <?php 3 $fp = fopen("test.pdf", "w"); 4 $pdf = PDF_open($fp); 5 pdf_set_info_author($pdf, "Uwe Steinmann"); 6 PDF_set_info_title($pdf, "Test for PHP wrapper of PDFlib 2.0"); 7 PDF_set_info_author($pdf, "Name of Author"); 8 pdf_set_info_creator($pdf, "See Author"); 9 pdf_set_info_subject($pdf, "Testing"); 10 PDF_begin_page($pdf, 595, 842); 11 PDF_add_outline($pdf, "Page 1"); 12 pdf_set_font($pdf, "Times-Roman", 30, 4); 13 pdf_set_text_rendering($pdf, 1); 14 PDF_show_xy($pdf, "Times Roman outlined", 50, 750); 15 pdf_moveto($pdf, 50, 740); 16 pdf_lineto($pdf, 330, 740); 17 pdf_stroke($pdf); 18 PDF_end_page($pdf); 19 PDF_close($pdf); 20 fclose($fp); 21 echo "<A HREF=getpdf.php3>finished</A>"; 22 ?> 23 </PRE ></TD ></TR ></TABLE ><P > The PHP script getpdf.php3 is the same as above.</P ></DIV ></TD ></TR ></TABLE > The pdflib distribution contains a more complex example which creates a serious of pages with an analog clock. This example converted into PHP using pdflib 2.x looks as the following (you can see the same example in the documentation for the <A HREF="ref.cpdf.html" >clibpdf module)</A >: <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><P ><B >Example 3. pdfclock example from pdflib 2.x distribution</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 <?php 3 $pdffilename = "clock.pdf"; 4 $radius = 200; 5 $margin = 20; 6 $pagecount = 40; 7 8 $fp = fopen($pdffilename, "w"); 9 $pdf = pdf_open($fp); 10 pdf_set_info_creator($pdf, "pdf_clock.php3"); 11 pdf_set_info_author($pdf, "Uwe Steinmann"); 12 pdf_set_info_title($pdf, "Analog Clock"); 13 14 while($pagecount-- > 0) { 15 pdf_begin_page($pdf, 2 * ($radius + $margin), 2 * ($radius + $margin)); 16 17 pdf_set_transition($pdf, 4); /* wipe */ 18 pdf_set_duration($pdf, 0.5); 19 20 pdf_translate($pdf, $radius + $margin, $radius + $margin); 21 pdf_save($pdf); 22 pdf_setrgbcolor($pdf, 0.0, 0.0, 1.0); 23 24 /* minute strokes */ 25 pdf_setlinewidth($pdf, 2.0); 26 for ($alpha = 0; $alpha < 360; $alpha += 6) { 27 pdf_rotate($pdf, 6.0); 28 pdf_moveto($pdf, $radius, 0.0); 29 pdf_lineto($pdf, $radius-$margin/3, 0.0); 30 pdf_stroke($pdf); 31 } 32 33 pdf_restore($pdf); 34 pdf_save($pdf); 35 36 /* 5 minute strokes */ 37 pdf_setlinewidth($pdf, 3.0); 38 for ($alpha = 0; $alpha < 360; $alpha += 30) { 39 pdf_rotate($pdf, 30.0); 40 pdf_moveto($pdf, $radius, 0.0); 41 pdf_lineto($pdf, $radius-$margin, 0.0); 42 pdf_stroke($pdf); 43 } 44 45 $ltime = getdate(); 46 47 /* draw hour hand */ 48 pdf_save($pdf); 49 pdf_rotate($pdf,-(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0); 50 pdf_moveto($pdf, -$radius/10, -$radius/20); 51 pdf_lineto($pdf, $radius/2, 0.0); 52 pdf_lineto($pdf, -$radius/10, $radius/20); 53 pdf_closepath($pdf); 54 pdf_fill($pdf); 55 pdf_restore($pdf); 56 57 /* draw minute hand */ 58 pdf_save($pdf); 59 pdf_rotate($pdf,-(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0); 60 pdf_moveto($pdf, -$radius/10, -$radius/20); 61 pdf_lineto($pdf, $radius * 0.8, 0.0); 62 pdf_lineto($pdf, -$radius/10, $radius/20); 63 pdf_closepath($pdf); 64 pdf_fill($pdf); 65 pdf_restore($pdf); 66 67 /* draw second hand */ 68 pdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); 69 pdf_setlinewidth($pdf, 2); 70 pdf_save($pdf); 71 pdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); 72 pdf_moveto($pdf, -$radius/5, 0.0); 73 pdf_lineto($pdf, $radius, 0.0); 74 pdf_stroke($pdf); 75 pdf_restore($pdf); 76 77 /* draw little circle at center */ 78 pdf_circle($pdf, 0, 0, $radius/30); 79 pdf_fill($pdf); 80 81 pdf_restore($pdf); 82 83 pdf_end_page($pdf); 84 } 85 86 $pdf = pdf_close($pdf); 87 fclose($fp); 88 echo "<A HREF=getpdf.php3?filename=".$pdffilename.">finished</A>"; 89 ?> 90 </PRE ></TD ></TR ></TABLE ><P > The PHP script getpdf.php3 just outputs the pdf document. <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 <?php 3 $fp = fopen($filename, "r"); 4 header("Content-type: application/pdf"); 5 fpassthru($fp); 6 fclose($fp); 7 ?> 8 </PRE ></TD ></TR ></TABLE ></P ></DIV ></TD ></TR ></TABLE ></P ></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT ><A HREF="function.pdf-get-info.html" >PDF_get_info</A > — Returns an empty info structure for a pdf document</DT ><DT ><A HREF="function.pdf-set-info-creator.html" >PDF_set_info_creator</A > — Fills the creator field of the info structure</DT ><DT ><A HREF="function.pdf-set-info-title.html" >PDF_set_info_title</A > — Fills the title field of the info structure</DT ><DT ><A HREF="function.pdf-set-info-subject.html" >PDF_set_info_subject</A > — Fills the subject field of the info structure</DT ><DT ><A HREF="function.pdf-set-info-keywords.html" >PDF_set_info_keywords</A > — Fills the keywords field of the info structure</DT ><DT ><A HREF="function.pdf-set-info-author.html" >PDF_set_info_author</A > — Fills the author field of the info structure</DT ><DT ><A HREF="function.pdf-open.html" >PDF_open</A > — Opens a new pdf document</DT ><DT ><A HREF="function.pdf-close.html" >PDF_close</A > — Closes a pdf document</DT ><DT ><A HREF="function.pdf-begin-page.html" >PDF_begin_page</A > — Starts new page</DT ><DT ><A HREF="function.pdf-end-page.html" >PDF_end_page</A > — Ends a page</DT ><DT ><A HREF="function.pdf-show.html" >PDF_show</A > — Output text at current position</DT ><DT ><A HREF="function.pdf-show-boxed.html" >PDF_show_boxed</A > — Output text in a box</DT ><DT ><A HREF="function.pdf-show-xy.html" >PDF_show_xy</A > — Output text at given position</DT ><DT ><A HREF="function.pdf-set-font.html" >PDF_set_font</A > — Selects a font face and size</DT ><DT ><A HREF="function.pdf-set-leading.html" >PDF_set_leading</A > — Sets distance between text lines</DT ><DT ><A HREF="function.pdf-set-parameter.html" >PDF_set_parameter</A > — Sets certain parameters</DT ><DT ><A HREF="function.pdf-set-text-rendering.html" >PDF_set_text_rendering</A > — Determines how text is rendered</DT ><DT ><A HREF="function.pdf-set-horiz-scaling.html" >PDF_set_horiz_scaling</A > — Sets horizontal scaling of text</DT ><DT ><A HREF="function.pdf-set-text-rise.html" >PDF_set_text_rise</A > — Sets the text rise</DT ><DT ><A HREF="function.pdf-set-text-matrix.html" >PDF_set_text_matrix</A > — Sets the text matrix</DT ><DT ><A HREF="function.pdf-set-text-pos.html" >PDF_set_text_pos</A > — Sets text position</DT ><DT ><A HREF="function.pdf-set-char-spacing.html" >PDF_set_char_spacing</A > — Sets character spacing</DT ><DT ><A HREF="function.pdf-set-word-spacing.html" >PDF_set_word_spacing</A > — Sets spacing between words</DT ><DT ><A HREF="function.pdf-skew.html" >PDF_skew</A > — Skews the coordinate system</DT ><DT ><A HREF="function.pdf-continue-text.html" >PDF_continue_text</A > — Outputs text in next line</DT ><DT ><A HREF="function.pdf-stringwidth.html" >PDF_stringwidth</A > — Returns width of text using current font</DT ><DT ><A HREF="function.pdf-save.html" >PDF_save</A > — Saves the current environment</DT ><DT ><A HREF="function.pdf-restore.html" >PDF_restore</A > — Restores formerly saved environment</DT ><DT ><A HREF="function.pdf-translate.html" >PDF_translate</A > — Sets origin of coordinate system</DT ><DT ><A HREF="function.pdf-scale.html" >PDF_scale</A > — Sets scaling</DT ><DT ><A HREF="function.pdf-rotate.html" >PDF_rotate</A > — Sets rotation</DT ><DT ><A HREF="function.pdf-setflat.html" >PDF_setflat</A > — Sets flatness</DT ><DT ><A HREF="function.pdf-setlinejoin.html" >PDF_setlinejoin</A > — Sets linejoin parameter</DT ><DT ><A HREF="function.pdf-setlinecap.html" >PDF_setlinecap</A > — Sets linecap parameter</DT ><DT ><A HREF="function.pdf-setmiterlimit.html" >PDF_setmiterlimit</A > — Sets miter limit</DT ><DT ><A HREF="function.pdf-setlinewidth.html" >PDF_setlinewidth</A > — Sets line width</DT ><DT ><A HREF="function.pdf-setdash.html" >PDF_setdash</A > — Sets dash pattern</DT ><DT ><A HREF="function.pdf-moveto.html" >PDF_moveto</A > — Sets current point</DT ><DT ><A HREF="function.pdf-curveto.html" >PDF_curveto</A > — Draws a curve</DT ><DT ><A HREF="function.pdf-lineto.html" >PDF_lineto</A > — Draws a line</DT ><DT ><A HREF="function.pdf-circle.html" >PDF_circle</A > — Draws a circle</DT ><DT ><A HREF="function.pdf-arc.html" >PDF_arc</A > — Draws an arc</DT ><DT ><A HREF="function.pdf-rect.html" >PDF_rect</A > — Draws a rectangle</DT ><DT ><A HREF="function.pdf-closepath.html" >PDF_closepath</A > — Closes path</DT ><DT ><A HREF="function.pdf-stroke.html" >PDF_stroke</A > — Draws line along path</DT ><DT ><A HREF="function.pdf-closepath-stroke.html" >PDF_closepath_stroke</A > — Closes path and draws line along path</DT ><DT ><A HREF="function.pdf-fill.html" >PDF_fill</A > — Fills current path</DT ><DT ><A HREF="function.pdf-fill-stroke.html" >PDF_fill_stroke</A > — Fills and strokes current path</DT ><DT ><A HREF="function.pdf-closepath-fill-stroke.html" >PDF_closepath_fill_stroke</A > — Closes, fills and strokes current path</DT ><DT ><A HREF="function.pdf-endpath.html" >PDF_endpath</A > — Ends current path</DT ><DT ><A HREF="function.pdf-clip.html" >PDF_clip</A > — Clips to current path</DT ><DT ><A HREF="function.pdf-setgray-fill.html" >PDF_setgray_fill</A > — Sets filling color to gray value</DT ><DT ><A HREF="function.pdf-setgray-stroke.html" >PDF_setgray_stroke</A > — Sets drawing color to gray value</DT ><DT ><A HREF="function.pdf-setgray.html" >PDF_setgray</A > — Sets drawing and filling color to gray value</DT ><DT ><A HREF="function.pdf-setrgbcolor-fill.html" >PDF_setrgbcolor_fill</A > — Sets filling color to rgb color value</DT ><DT ><A HREF="function.pdf-setrgbcolor-stroke.html" >PDF_setrgbcolor_stroke</A > — Sets drawing color to rgb color value</DT ><DT ><A HREF="function.pdf-setrgbcolor.html" >PDF_setrgbcolor</A > — Sets drawing and filling color to rgb color value</DT ><DT ><A HREF="function.pdf-add-outline.html" >PDF_add_outline</A > — Adds bookmark for current page</DT ><DT ><A HREF="function.pdf-set-transition.html" >PDF_set_transition</A > — Sets transition between pages</DT ><DT ><A HREF="function.pdf-set-duration.html" >PDF_set_duration</A > — Sets duration between pages</DT ><DT ><A HREF="function.pdf-open-gif.html" >PDF_open_gif</A > — Opens a GIF image</DT ><DT ><A HREF="function.pdf-open-memory-image.html" >PDF_open_memory_image</A > — Opens an image created with PHP's image functions</DT ><DT ><A HREF="function.pdf-open-jpeg.html" >PDF_open_jpeg</A > — Opens a JPEG image</DT ><DT ><A HREF="function.pdf-close-image.html" >PDF_close_image</A > — Closes an image</DT ><DT ><A HREF="function.pdf-place-image.html" >PDF_place_image</A > — Places an image on the page</DT ><DT ><A HREF="function.pdf-put-image.html" >PDF_put_image</A > — Stores an image in the PDF for later use</DT ><DT ><A HREF="function.pdf-execute-image.html" >PDF_execute_image</A > — Places a stored image on the page</DT ><DT ><A HREF="function.pdf-add-annotation.html" >pdf_add_annotation</A > — Adds annotation</DT ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.ociinternaldebug.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="manual.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.pdf-get-info.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >OCIInternalDebug</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="funcref.html" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >PDF_get_info</TD ></TR ></TABLE ></DIV ></BODY ></HTML >