WEB开发网
开发学院WEB开发PHP PHP生成PDF文档 with PDFLib 阅读

PHP生成PDF文档 with PDFLib

 2010-12-01 07:15:31 来源:WEB开发网   
核心提示:这个任务是由PDF_new()函数完成的,他返回一个PDF文件的句柄,PHP生成PDF文档 with PDFLib(2),这个句柄将会被后续的所有操作使用, 下一步要做的, 除了在PDF文件里画出现有的图象以外,PDF模块还提供了许多函数来让我们画出几何图像,就是给PDF文件一个名字,由PDF_open_file()函
  这个任务是由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模块还提供了许多函数来让我们画出几何图像。比如:直线、圆、长方形等几何图案,下面就是一段画直线的实现方法:

  <?php$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);?>

上一页  1 2 3 4  下一页

Tags:PHP 生成 PDF

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接