ClibPDF lets you create PDF documents with PHP.
ClibPDF functionality and API are similar to PDFlib. This documentation should be
read alongside the ClibPDF manual since it explains the
library in much greater detail.
Many functions in the native ClibPDF and the PHP
module, as well as in
PDFlib, have the same name. All functions except
for cpdf_open() take the handle for the
document as their first parameter.
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.
A nice feature of ClibPDF (and PDFlib) 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
pdf_translate() when using the PDFlib functions.)
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 cpdf_set_current_page() allows to
leave the current page and presume modifying an other
page.
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.
In order to use the ClibPDF functions you need to
install the ClibPDF package. It is available for
download from
FastIO, but requires that you purchase a
license for commercial use. PHP requires that you use
cpdflib = 2.
To get these functions to work, you have to
compile PHP with
--with-cpdflib[=DIR]. DIR is the cpdflib install
directory, defaults to /usr.
In addition you can specify the jpeg library and the
tiff library for ClibPDF to use. To do so add to your
configure line the options
--with-jpeg-dir[=DIR]
--with-tiff-dir[=DIR].
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:
|
See also the PDFlib
extension documentation.