- 浏览: 153380 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
NickWar:
脚本很好用,感谢楼主分享
但我只能导出10篇文档的xml ...
原创使用google reader + PHP将iteye博客数据导入到wordpress中 -
再逢山水:
ninedoors 写道这位仁兄,还有一个问题,感觉挺诡异的, ...
ThinkPHP中M和D函数的区别 -
ninedoors:
这位仁兄,还有一个问题,感觉挺诡异的,却不知道原因。我在用th ...
ThinkPHP中M和D函数的区别 -
柏新星:
谢谢 最起码简单的了解了一些 呵呵
stdClass的介绍
为了能够使PHP具有操作PDF格式文档的能力,你必须先在你的系统里安装PDFLib扩展库,如果你使用的是Linux系统,你可以从 http://www.pdflib.com/pdflib/index.html下载一个并进行编译,如果你使用的是Windows系统,那就更简单了,只需要下载一个编译好的PDFLib库,然后在PHP的配置文件里把相应的行的注释去掉即可。
extension=php_pdf.dll
如果是动态装载,也可以是参照下面的命令:
此外,你还必须有一个Adobe Acrobat PDF阅读器,用来浏览PDF格式,如果你没有,你可以从 http://www.adobe.com/免费下载。
一旦你做好了前期准备,就可以创建PDF文件了,下面就是一个简单的例子:
然后保存成PHP文件,在浏览器里进行浏览,PHP就会执行上面的代码,它产生一个新的PDF文件,并保存到指定的位置。
现在我们分析一下什么的代码,要使用PHP创建PDF文件,有四个步骤:1,创建文档句柄;2,注册文档的字体和颜色;3,用PDFLib提供的函数向文件句柄写文字或画图;4,保存文档。
首先,创建PDF文档句柄,语法如下:
$pdf = PDF_new();
这个任务是由PDF_new()函数完成的,它返回一个PDF文档的句柄,这个句柄将会被后续的所有操作使用。
下一步要做的,就是给PDF文件一个名字,由PDF_open_file()函数完成,它需要先前创建的文件句柄和自定义的文件名做参数:
PDF_open_file($pdf, "PDFTest.pdf");
一旦我们创建了文档,就可以用PDF_begin_page()函数在其中插入新页面了:
PDF_begin_page($pdf, 595, 842);
然后用PDF_end_page()结束页面。
注意这里,在PDF_begin_page()函数里,有另外两个参数,他们分别代表页面尺寸的宽和高,单位是磅(point,1磅等于1/72英寸),或许在这里数学并不是你的强项,PHP还提供了大多数标准页面尺寸,象A4等,上面的例子就是使用A4的尺寸。
在调用PDF_begin_page()函数和PDF_end_page()函数之间的代码是向PDF文档了写内容的,内容可以是文字、图象以及几何图形等。例子中只是写了一行文字,先得到一个字体,然后把文字写到文档里。通过PDF_findfont()和PDF_setfont()函数选择和注册字体是很方便的,PDF_findfont()函数预备了一种文档中要使用的字体,需要的参数有字体的名字,使用的编码,字体是否要嵌入到PDF文件中。PDF_findfont()函数返回一个字体对象,它将会在PDF_setfont()函数里使用。
一旦我们设定了字体,就可以使用PDF_show_xy()函数向页面中的指定位置写字符串了。
PDF_show_xy()函数用来向页面写内容,最后两个参数是要写入的字符串的坐标位置,注意坐标的原点(0,0)是在文档的左下角。一旦文字写完了,页面就可以关闭了PDF_end_page(),当然你也可以写更多的页。所有的页面写完之后,用PDF_close()函数关闭文档,此时文档就回保存到调用PDF_open_file()函数时指定的文件名和路径下,文档句柄随之销毁。
PDFLib库能做的事情还远不止这些,还可以在页面里加入图象,我们以前面的文件为例,在文字的下面添加一个图象文件,下面的语句实现了添加图象功能:
是不是很简单?PDF_open_image_file()函数打开一个图形文件,可以接受的图象类型有:GIF, JPEG, TIFF 和 PNG,该函数返回图象句柄,PDF_place_image()函数利用前面的图象句柄,把图象插入到PDF文档中。注意这里的坐标位置是指图象的左下角,最后一个参数是图象显示时的比例因子,1是与实际大小一样显示,0.5是按原来尺寸的一半显示。
除了在PDF文档里画出现有的图象以外,PDF模块还提供了许多函数来让我们画出几何图形。比如:直线、圆、长方形等几何图案,下面就是一段画直线的实现方法:
extension=php_pdf.dll
如果是动态装载,也可以是参照下面的命令:
dl("php_pdf.dll");
此外,你还必须有一个Adobe Acrobat PDF阅读器,用来浏览PDF格式,如果你没有,你可以从 http://www.adobe.com/免费下载。
一旦你做好了前期准备,就可以创建PDF文件了,下面就是一个简单的例子:
// 创建一个新的PDF文档句柄 $pdf = PDF_new(); // 打开一个文件 PDF_open_file($pdf, "PDFTest.pdf"); // 开始一个新页面(A4) PDF_begin_page($pdf, 595, 842); // 得到并使用字体对象 $arial = PDF_findfont($pdf, "Arial", "host", 1); PDF_setfont($pdf, $arial, 10); // 输出文字 PDF_show_xy($pdf, "This is an exam of PDF Documents, It is a good Lib,",50, 750); PDF_show_xy($pdf, "If you like,please try yourself!", 50, 730); // 结束一页 PDF_end_page($pdf); // 关闭并保存文件 PDF_close($pdf); ?>
然后保存成PHP文件,在浏览器里进行浏览,PHP就会执行上面的代码,它产生一个新的PDF文件,并保存到指定的位置。
现在我们分析一下什么的代码,要使用PHP创建PDF文件,有四个步骤:1,创建文档句柄;2,注册文档的字体和颜色;3,用PDFLib提供的函数向文件句柄写文字或画图;4,保存文档。
首先,创建PDF文档句柄,语法如下:
$pdf = PDF_new();
这个任务是由PDF_new()函数完成的,它返回一个PDF文档的句柄,这个句柄将会被后续的所有操作使用。
下一步要做的,就是给PDF文件一个名字,由PDF_open_file()函数完成,它需要先前创建的文件句柄和自定义的文件名做参数:
PDF_open_file($pdf, "PDFTest.pdf");
一旦我们创建了文档,就可以用PDF_begin_page()函数在其中插入新页面了:
PDF_begin_page($pdf, 595, 842);
然后用PDF_end_page()结束页面。
注意这里,在PDF_begin_page()函数里,有另外两个参数,他们分别代表页面尺寸的宽和高,单位是磅(point,1磅等于1/72英寸),或许在这里数学并不是你的强项,PHP还提供了大多数标准页面尺寸,象A4等,上面的例子就是使用A4的尺寸。
在调用PDF_begin_page()函数和PDF_end_page()函数之间的代码是向PDF文档了写内容的,内容可以是文字、图象以及几何图形等。例子中只是写了一行文字,先得到一个字体,然后把文字写到文档里。通过PDF_findfont()和PDF_setfont()函数选择和注册字体是很方便的,PDF_findfont()函数预备了一种文档中要使用的字体,需要的参数有字体的名字,使用的编码,字体是否要嵌入到PDF文件中。PDF_findfont()函数返回一个字体对象,它将会在PDF_setfont()函数里使用。
$arial = PDF_findfont($pdf, "Arial", "host", 1); PDF_setfont($pdf,$arial, 10);
一旦我们设定了字体,就可以使用PDF_show_xy()函数向页面中的指定位置写字符串了。
PDF_show_xy($pdf, "This is an exam of PDF Documents, It is a good Lib,",50, 750); PDF_show_xy($pdf, "If you like,please try yourself!", 50, 730);
PDF_show_xy()函数用来向页面写内容,最后两个参数是要写入的字符串的坐标位置,注意坐标的原点(0,0)是在文档的左下角。一旦文字写完了,页面就可以关闭了PDF_end_page(),当然你也可以写更多的页。所有的页面写完之后,用PDF_close()函数关闭文档,此时文档就回保存到调用PDF_open_file()函数时指定的文件名和路径下,文档句柄随之销毁。
PDFLib库能做的事情还远不止这些,还可以在页面里加入图象,我们以前面的文件为例,在文字的下面添加一个图象文件,下面的语句实现了添加图象功能:
$image = PDF_open_image_file($pdf, "jpeg", "PDFImageTest.jpg"); PDF_place_image($pdf, $image, 50, 650, 0.25);
是不是很简单?PDF_open_image_file()函数打开一个图形文件,可以接受的图象类型有:GIF, JPEG, TIFF 和 PNG,该函数返回图象句柄,PDF_place_image()函数利用前面的图象句柄,把图象插入到PDF文档中。注意这里的坐标位置是指图象的左下角,最后一个参数是图象显示时的比例因子,1是与实际大小一样显示,0.5是按原来尺寸的一半显示。
除了在PDF文档里画出现有的图象以外,PDF模块还提供了许多函数来让我们画出几何图形。比如:直线、圆、长方形等几何图案,下面就是一段画直线的实现方法:
$pdf = PDF_new(); PDF_open_file($pdf, "LineExam.pdf"); PDF_begin_page($pdf, 595, 842); $arial = PDF_findfont($pdf, "Arial", "host", 1); PDF_setfont($pdf, $arial, 12); // 设定直线的颜色 PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 0); // 在左上角放置一个Logo标识 $image = PDF_open_image_file($pdf, "jpeg", "logo.jpg"); PDF_place_image($pdf, $image, 50, 785, 0.5); // 在Logo标识下画出直线 PDF_moveto($pdf, 20, 780); PDF_lineto($pdf, 575, 780); PDF_stroke($pdf); // 在页面底部画出另外一条直线 PDF_moveto($pdf, 20,50); PDF_lineto($pdf, 575, 50); PDF_stroke($pdf); // 输出一些文字 PDF_show_xy($pdf, "Meng's Corporation", 200, 35); PDF_end_page($pdf); PDF_close($pdf);
发表评论
-
PHP stream_context_create()作用和用法分析
2013-04-03 10:28 0创建并返回一个文本数据流并应用各种选项,可用于fopen(), ... -
PHP - Iterator接口的解释
2012-12-06 14:23 871Iterator的接口定义如下: Iterato ... -
php中exec,system及passthru等函数用法
2012-08-13 10:49 1029由于PHP基本是用于WEB程 ... -
HTTP协议状态码详解(HTTP Status Code)
2012-08-13 10:41 986使用php或者javascript都会 ... -
spl_autoload_register 函数详解
2012-06-19 11:45 6666spl_autoload_register (PHP 5 &g ... -
PHP 程序员学数据结构与算法之《栈》
2012-11-24 17:01 1205介绍 “要成高 ... -
MySQL字段类型
2012-03-13 12:21 871MySQL支持大量的列类型 ... -
20个数据库设计的最佳实践
2012-02-27 10:33 10411、使用定义明确的表或列名,并保持一致(例如,School、S ... -
PHP中curl_setopt的CURLOPT系列 选项(转)
2012-01-17 15:41 3425curl_setopt()函数将为一个CURL会话设置选项。 ... -
2011年最热门的开源PHP项目回顾
2012-01-01 12:07 1153本文来自于对活跃在SourceForge和GitHub上的项目 ... -
PHP开发者常犯的10个MySQL错误
2012-01-01 12:03 889数据库是WEB大多数应用 ... -
PHP XML操作类DOMDocument
2011-08-29 14:18 1325不得不自已写一个.XML ... -
二十五个顶级PHP模板引擎整理
2011-08-09 17:20 1026为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出 ... -
php接收二进制数据流转换成图片
2011-08-04 17:49 11431<?php /** * 图片类 * @au ... -
PHP性能优化贴士——产生高度优化代码
2011-07-19 09:43 953PHP是一种在服务器端执 ... -
PHP register_shutdown_function函数详解
2011-07-18 11:47 1403脚本时常死掉,而且并不总是那么好看. 我们可不想给用户 ... -
PHP程序员最常犯的11个MySQL错误
2011-06-30 15:58 694对于大多数web应用来说,数据库都是一个十分基础性的部 ... -
简述MVC思想与PHP如何实现MVC
2011-06-20 11:17 856我相信已经有很多这样 ... -
PHP中的生成XML文件的4种方法
2011-06-15 11:56 2466<?xml version="1.0&qu ... -
stdClass的介绍
2011-06-02 10:11 1073在PHP开发中,很多时候都会看到别人的代码里有 $use ...
相关推荐
复制代码 代码如下:iconv(‘GBK’, ‘UTF-8//IGNORE’, ‘软件开发网’); // 将字符串由 GBK 编码转换为 UTF-8 编码 ...复制代码 代码如下:// 使用 iconv 转换并判断是否等值,效率不高function is_utf8 ($str) {
在php开发中有时候会用到转码函数,比如iconv(),mb_convert_encoding()函数,在用函数转码的时候或者解码的时候我们有时候需要先判断当前字符串编码类型,不如是否是utf-8编码,是的话然后进行编码转换等操作。...
PHP输出页面时经常有乱码,怎么办呢?今天我就提供一个方法,可以自动判断php字符编码,把gbk或gb2312编码的字符串转为utf8 。
在用$text=iconv(UTF-8,GB2312,$text)过程中,如果遇到一些特别字符时,如:”—”,英文名中的”.”等等字符,转换就断掉了。这些字符后的文字都没法继续转换了。 针对这的问题,可以用如下代码实现: $text=ico
复制代码 代码如下:<?php $f=fopen(“test.txt”, “wb”); $text=utf8_encode(“a!”); //先用函数utf8_encode将所需写入的... 您可能感兴趣的文章:php 判断网页是否是utf8编码的方法php字符编码转换之gb
实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式 147 实例116 验证电话号码的格式是否正确 147 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址是否有效 149 实例119 统计关键字的查询结果 150...
实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式 147 实例116 验证电话号码的格式是否正确 147 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址是否有效 149 实例119 统计关键字的查询结果 150...
11.4.1 编码字符串——urlencode 181 11.4.2 解码字符串——urldecode 181 11.5 小结 182 第12章 PHP与JavaScript交互 183 12.1 JavaScript简介 183 12.2 JavaScript的数据类型 183 12.3 JavaScript程序设计基础 184...
--string=[x]=[y]=[color]=["string“] 字符串位置、颜色与内容,可用于标题,说明,帮助等。单位:列,行,24位色彩。 注:如果省略颜色,位于菜单框以上按标题颜色,位于菜单框以下按帮助文本颜色; 字符串头尾...
14.2.8. RealPath 14.2.9. StringToLower 14.2.10. StringToUpper 14.2.11. StringTrim 14.2.12. StripTags 14.3. 过滤器链 14.4. 编写过滤器 14.5. Zend_Filter_Input 14.5.1. Declaring Filter and ...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...