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 ;
$pdf = PDF_open ;
pdf_set_info_author ;
PDF_set_info_title ;
PDF_set_info_author ;
pdf_set_info_creator ;
pdf_set_info_subject ;
PDF_begin_page ;
PDF_add_outline ;
pdf_set_font ;
pdf_set_text_rendering ;
PDF_show_xy ;
pdf_moveto ;
pdf_lineto ;
pdf_stroke ;
PDF_end_page ;
PDF_close ;
fclose ;
echo "A HREF=getpdf.php3finished/A" ;
?
上例中的 gettest.php3 可能像下面的样子
?php
$fp = fopen ;
header ;
fpassthru ;
fclose ;
?
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: 形成封闭的向量形状并沿向量绘线。
PDF_fill: 填满目前的向量。
PDF_fill_stroke: 填满目前的向量并沿向量绘线。
PDF_closepath_fill_stroke: 形成封闭的向量形状沿向量绘线并填满。
PDF_endpath: 关闭目前向量。
PDF_clip: 组合所有向量。
PDF_setgray_fill: 指定填入的颜色为灰阶。
PDF_setgray_stroke: 指定绘图的颜色为灰阶。
PDF_setgray: 指定绘图的颜色为灰阶并填入。
PDF_setrgbcolor_fill: 指定填入的颜色为彩色。
PDF_setrgbcolor_stroke: 指定绘图的颜色为彩色。
PDF_setrgbcolor: 指定绘图的颜色为彩色并填入。
PDF_add_outline: 目前页面加入书签。
PDF_set_transition: 配置页的转换。
PDF_set_duration: 配置二页的切换时间。
PDF_open_gif: 打开 GIF 图档。
PDF_open_memory_image: 打开内存图档。
PDF_open_jpeg: 打开 JPEG 图档。
PDF_close_image: 关闭图档。
PDF_place_image: 放置图片到 PDF 档指定位置。
PDF_put_image: 放置图片到 PDF 档。
PDF_execute_image: 放置 PDF 档中图片到指定位置。
PDF_add_annotation: 加入注释。
PDF_get_info
返回文件信息。
语法: int pdf_get_info;
返回值: 整数
函数种类: 特殊文件格式
内容说明: 本函数用来取得 PDF 的文件信息,例如、主题....等等。需要 pdflib 2.0 以上才能使用本函数的功能。
参考: PDF_set_info_creator PDF_set_info_author PDF_set_info_keywords PDF_set_info_title PDF_set_info_subject
PDF_set_info_creator
配置建档者字符串。
语法: void pdf_set_info_creator;
返回值: 无
函数种类: 特殊文件格式
内容说明: 本函数用来配置 PDF 的建立文件者信息。参数 info 为 PDF 文件信息代码,供 PDF_open 所使用的代码。参数 creator 为建档者名称。需要 pdflib 2.0 以上才能使用本函数的功能。
PDF_set_info_title
配置文件标题。
语法: void pdf_set_info_title;
返回值: 无
函数种类: 特殊文件格式
内容说明: 本函数用来配置 PDF 的文件标题 。参数 info 为 PDF 文件信息代码,供 PDF_open 所使用的代码。参数 title 为欲配置的文件标头字符串。需要 pdflib 2.0 以上才能使用本函数的功能。
PDF_set_info_subject
配置文件主题。
语法: void pdf_set_info_subject;
返回值: 无
函数种类: 特殊文件格式
内容说明: 本函数用来配置 PDF 的文件主题 。参数 info 为 PDF 文件信息代码,供 PDF_open 所使用的代码。参数 subject 为欲配置的文件主题字符串。需要 pdflib 2.0 以上才能使用本函数的功能。
PDF_set_info_keywords
配置文件的关键字。
语法: void pdf_set_info_keywords;
返回值: 无
函数种类: 特殊文件格式
内容说明: 本函数用来配置 PDF 文件的关键字 。参数 info 为 PDF 文件信息代码,供 PDF_open 所使用的代码。参数 keywords 为欲配置的文件关键字字符串。需要 pdflib 2.0 以上才能使用本函数的功能。
PDF_set_info_author
配置文件。
语法: void pdf_set_info_author;
返回值: 无
函数种类: 特殊文件格式
内容说明: 本函数用来配置 PDF 文件的。参数 info 为 PDF 文件信息代码,供 PDF_open 所使用的代码。参数 author 为欲配置的文件名字。需要 pdflib 2.0 以上才能使用本函数的功能。
PDF_open
建立新的 PDF 档。
语法: int pdf_open;
返回值: 整数
函数种类: 特殊文件格式
内容说明: 本函数用来打开新的 PDF 文件,意即建立新的 PDF 档。参数 file 为使用 fopen 所开档的文件代码。参数 info 为 PDF_get_info 产生的 PDF 文件信息代码。成功则返回 PDF 文件代码。
PDF_close
关闭 PDF 档。
语法: boolean pdf_close;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来关闭 PDF 文件。参数 pdfid 为 PDF 文件代码。成功则返回 true 值。
PDF_begin_page
启始 PDF 文件页面。
语法: boolean pdf_begin_page;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来启始 PDF 文件页面,并配置页面大小。参数 pdfid 为 PDF 文件代码。参数 height 与 width 为浮点数类型的数字,分别为 PDF 页面的高度和宽度。成功则返回 true 值。
参考: PDF_end_page
PDF_end_page
关闭 PDF 文件页面。
语法: boolean pdf_end_page;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来关闭 PDF 文件页面,并配置页面大小。参数 pdfid 为 PDF 文件代码。成功则返回 true 值。
参考: PDF_begin_page
PDF_show
输出字符串到 PDF 文件。
语法: boolean pdf_show;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来送出文字字符串到 PDF 文件中。参数 pdfid 为 PDF 文件代码。参数 text 为欲加入的字符串。成功则返回 true 值。
参考: PDF_show_xy PDF_set_text_pos PDF_set_font
PDF_show_xy
输出字符串到指定坐标。
语法: boolean pdf_show_xy;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来送出文字字符串到 PDF 文件中的指定坐标上。参数 pdfid 为 PDF 文件代码。参数 text 为欲加入的字符串。参数 x-koor 及 y-koor 分别为 X, Y 二点坐标,为浮点数类型。成功则返回 true 值。
参考: PDF_show PDF_set_text_pos PDF_set_font
PDF_set_font
配置使用的字型及大小。
语法: boolean pdf_set_font;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置指定的字型及字型大小,供程序有关字符串输出使用。参数 pdfid 为 PDF 文件代码。参数 fontname 为字型名称。参数 size 为字型大小。参数 encoding 的默认值为 4,其数字如下 0 表 builtin、1 为 pdfdoc、2 为 macroman、3 表 macexpert 与 4 为 winansi。成功则返回 true 值。本函数需要 pdflib 2.0 以上方可支持。
PDF_set_leading
配置行距。
语法: boolean pdf_set_leading;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置输出文字间的行距。参数 pdfid 为 PDF 文件代码。参数 distance 为欲配置的行距值,为浮点数。使用本函数后会影响到 PDF_continue_text 所输出的字符串。执行成功则返回 true 值。
参考: PDF_continue_text
PDF_set_text_rendering
配置文字表现方式。
语法: boolean pdf_set_text_rendering;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置输出文字间的表现方法。参数 pdfid 为 PDF 文件代码。参数 mode 为 render 的方式,值如下粗体所示
执行成功则返回 true 值
PDF_set_horiz_scaling
配置文字水平间距。
语法: boolean pdf_set_horiz_scaling;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置文字的水平间距。参数 pdfid 为 PDF 文件代码。参数 scale 为欲配置的间距值,为浮点数。
PDF_set_text_rise
配置文字高度。
语法: boolean pdf_set_text_rise;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置文字的高度。参数 pdfid 为 PDF 文件代码。参数 value 为欲配置的高度,为浮点数。
PDF_set_text_matrix
配置文字矩阵。
语法: boolean pdf_set_text_matrix;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置文字的矩阵。参数 pdfid 为 PDF 文件代码。参数 matrix 为数组,最多可有六个元素。
PDF_set_text_pos
配置文字位置。
语法: boolean pdf_set_text_pos;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置文字的显示位置。参数 pdfid 为 PDF 文件代码。参数 x-koor 与 y-koor 均为浮点数,分别为 X、Y 的座标。在使用本函数后的 PDF_show 会受到影响。成功则返回 true 值。
PDF_set_char_spacing
配置字符间距。
语法: boolean pdf_set_char_spacing;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置字符的间距。参数 pdfid 为 PDF 文件代码。参数 space 为浮点数,为欲配置的距离。成功则返回 true 值。
PDF_set_word_spacing
配置字间距。
语法: boolean pdf_set_word_spacing;
返回值: 布尔值
函数种类: 特殊文件格式
内容说明: 本函数用来配置字的间距。参数 pdfid 为 PDF 文件代码。参数 space 为浮点数,为欲配置的距离。成功则返回 true 值。
延伸阅读:
用PHP编写PDF文档生成器
PHP中PDF正常输出中文
FPDF V1.51
PHP生成pdf文档之fpdf代码研究
PHP读取创建txt,doc,xls,pdf类型文件