日期:2011-04-07  浏览次数:20420 次


    PDF 是 Adobe 所发展的可携式文件格式,它的文件可以在网络上传输、浏览,甚至使用印表机印出,或使用其它输出装置输出,都可以保存原来的文字及图片的编排。详细的信息可以参考 Adobe 的网站 。参考其中有关 PDF 或 Acrobat 的部份。
    在 UNIX 系统中,可以使用 Thomas Merz 开发的 PDF 函数库 。将它编译安装完成后,再编译 PHP 程序方可供 PHP 使用 pdflib。编译时可能要 JPEG library 及 TIFF library 。
    除了用这个函数库可以建立 PDF 文件外, FastIO 公司 发展的产品 ClibPDF 也可以处理 PDF 文件。以下为处理 PDF 文件的范例,本例对 test.pdf 加工后等待用户读取。
<?php
$fp = fopen ( "test.pdf" , "w" );
$pdf = PDF_open ( $fp );
pdf_set_info_author ( $pdf , "Uwe Steinmann" );
PDF_set_info_title ( $pdf , "Test for PHP wrapper of PDFlib 2.0" );
PDF_set_info_author ( $pdf , "Name of Author" );
pdf_set_info_creator ( $pdf , "See Author" );
pdf_set_info_subject ( $pdf , "Testing" );
PDF_begin_page ( $pdf , 595 , 842 );
PDF_add_outline ( $pdf , "Page 1" );
pdf_set_font ( $pdf , "Times-Roman" , 30 , 4 );
pdf_set_text_rendering ( $pdf , 1 );
PDF_show_xy ( $pdf , "Times Roman outlined" , 50 , 750 );
pdf_moveto ( $pdf , 50 , 740 );
pdf_lineto ( $pdf , 330 , 740 );
pdf_stroke ( $pdf );
PDF_end_page ( $pdf );
PDF_close ( $pdf );
fclose ( $fp );
echo "<A HREF=getpdf.php3>finished</A>" ;
?>

上例中的 gettest.php3 可能像下面的样子
<?php
$fp = fopen ( "test.pdf" , "r" );
header ( "Content-type: application/pdf" );
fpassthru ( $fp );
fclose ( $fp );
?>

PDF_get_info: 返回文件信息。
PDF_set_info_creator: 配置建档者字符串。
PDF_set_info_title: 配置文件标题。
PDF_set_info_subject: 配置文件主题。
PDF_set_info_keywords: 配置文件的关键字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 档。
PDF_close: 关闭 PDF 档。
PDF_begin_page: 启始 PDF 文件页面。
PDF_end_page: 关闭 PDF 文件页面。
PDF_show: 输出字符串到 PDF 文件。
PDF_show_xy: 输出字符串到指定坐标。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表现方式。
PDF_set_horiz_scaling: 配置文字水平间距。
PDF_set_text_rise: 配置文字高度。
PDF_set_text_matrix: 配置文字矩阵。
PDF_set_text_pos: 配置文字位置。
PDF_set_char_spacing: 配置字符间距。
PDF_set_word_spacing: 配置字间距。
PDF_continue_text: 输出文字。
PDF_stringwidth: 计算字符串的宽度。
PDF_save: 储存环境变量。
PDF_restore: 还原环境变量。
PDF_translate: 移动原点。
PDF_scale: 缩放类。
PDF_rotate: 旋转类。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置连接参数。
PDF_setlinecap: 配置 linecap 参数。
PDF_setmiterlimit: 配置斜边界限。
PDF_setlinewidth: 配置线宽。
PDF_setdash: 配置虚线样式。
PDF_moveto: 配置处理的坐标点。
PDF_curveto: 绘贝氏曲线。
PDF_lineto: 绘直线。
PDF_circle: 绘圆。
PDF_arc: 绘弧。
PDF_rect: 绘长方形。
PDF_closepath: 形成封闭的向量形状。
PDF_stroke: 沿向量绘线。
PDF_closepath_stroke: 形成封闭的向量形状并沿向量绘线。