`

使用fpdf生成pdf

    博客分类:
  • PHP
阅读更多
在PHP中,生成PDF时,可以用pdflib,但这个东西是要钱的,开源的话,
可以使用fphp,这个东西的下载在:
http://www.fpdf.org/
并且有中文文档下载哦

1 初步使用
  <?php
require('fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
很明显是设置了字体,之后设置了cell,

cell的用法:
显示一个储存格 (长方形范围),同时,也提供其它功能选项,包括(边框、背景颜色、字符串)。储存格左上角的位置为目前位置。文字可以除意排列或置中。则行这个命令之后,目前位置便会向右移或移到下一行。它可以会在文字上建立一个连结。若果已经启动自动分页功能,当内容超出了储存格的限制,输出数据之前会自动执行分页功能。
參數
w
储存格宽度。 若为:0,这个储存格会延伸至页的右边边缘。
h
储存格高度。默认值为:0.
txt
字符串显示。默认值为:空白
border
若果要围绕储存格边缘显示边框,可用下面的数值:
0: 没有边框
1: 边框
或包含以下一些或所有字符串(在任何指示下):
L: 左边边线
T: 顶部边线
R: 右边边线
B: 底部边线
默认值为:0
ln
则行这个功能之后,目前位置应在那里。
可用下面的数值:
0: 往右边移
1: 到下一行的开端
2: 往下面
默认值为:0
align
允许排列文字置中。可用下面的数值:
L 或空格符:左边排列 (默认值)
C: 中间排列
R: 右边排列
fill

2 将数组元素显示
  <!--p

  require 'fpdf.php';

  $books = array (
    'The Sun Also Rises, by Ernest Hemingway',
    'King Rat, by James Clavell',
    'The Long Tail, by Chris Anderson'
  );

  $pdf=new FPDF('P', 'pt', 'A4');
  $pd-->AddPage();

  $pdf->SetFont('Times', 'B', 16);
  $pdf->Cell(0,10,'My favorite books!', 0, 2, 'C');

  $pdf->SetFont('Times', '', 12);

  foreach ($books AS $book) {
    $pdf->MultiCell(0, 20, $book, 0, 'L');
  }

  $pdf->Output();

?>


3 增加图片
   <!--p

  require 'fpdf.php';

  $pdf=new FPDF('P', 'pt', 'A4');
  $pd-->AddPage();

  $pdf->SetFont('Times', 'B', 16);
  $pdf->Cell(0,10,'Easy PayPal with PHP', 0, 2, 'C');

  $pdf->Image('easypaypalwithphp.jpg');

  $pdf->Output();

?>

4 加水印
  <!--p

  require 'fpdf.php';

  class WJGPDF extends FPDF
  {

    function Footer()
    {

      $thi-->SetY(-25);

      $this->SetFont('Times', 'B', 12); 

      $this->Cell(0,20,'Licensed to jason@example.com', 0, 0, 'C');

    }

  }

  $pdf=new WJGPDF('P', 'pt', 'A4');
  $pdf->AddPage();

  $pdf->SetFont('Times', 'B', 16);
  $pdf->Cell(0,10,'Easy PayPal with PHP', 0, 2, 'C');

  $pdf->Output();

以上是在脚部加了一个水印email了,注意要继承FPDF类,重写其中的footer方法

4 生成复杂table
  <?php
require('fpdf.php');

class PDF extends FPDF
{
//Load data
function LoadData($file)
{
    //Read file lines
    $lines=file($file);
    $data=array();
    foreach($lines as $line)
        $data[]=explode(';',chop($line));
    return $data;
}

//Simple table
function BasicTable($header,$data)
{
    //Header
    foreach($header as $col)
        $this->Cell(40,7,$col,1);
    $this->Ln();
    //Data
    foreach($data as $row)
    {
        foreach($row as $col)
            $this->Cell(40,6,$col,1);
        $this->Ln();
    }
}

//Better table
function ImprovedTable($header,$data)
{
    //Column widths
    $w=array(40,35,40,45);
    //Header
    for($i=0;$i<count($header);$i++)
        $this->Cell($w[$i],7,$header[$i],1,0,'C');
    $this->Ln();
    //Data
    foreach($data as $row)
    {
        $this->Cell($w[0],6,$row[0],'LR');
        $this->Cell($w[1],6,$row[1],'LR');
        $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
        $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
        $this->Ln();
    }
    //Closure line
    $this->Cell(array_sum($w),0,'','T');
}

//Colored table
function FancyTable($header,$data)
{
    //Colors, line width and bold font
    $this->SetFillColor(255,0,0);
    $this->SetTextColor(255);
    $this->SetDrawColor(128,0,0);
    $this->SetLineWidth(.3);
    $this->SetFont('','B');
    //Header
    $w=array(40,35,40,45);
    for($i=0;$i<count($header);$i++)
        $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
    $this->Ln();
    //Color and font restoration
    $this->SetFillColor(224,235,255);
    $this->SetTextColor(0);
    $this->SetFont('');
    //Data
    $fill=false;
    foreach($data as $row)
    {
        $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
        $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
        $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
        $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
        $this->Ln();
        $fill=!$fill;
    }
    $this->Cell(array_sum($w),0,'','T');
}
}

$pdf=new PDF();
//Column titles
$header=array('Country','Capital','Area (sq km)','Pop. (thousands)');
//Data loading
$data=$pdf->LoadData('countries.txt');
$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->BasicTable($header,$data);
$pdf->AddPage();
$pdf->ImprovedTable($header,$data);
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output();
?>

  其他的详细见文档,中文的哦
2
4
分享到:
评论

相关推荐

    FPDF,php生成PDF

    FPDF是一个PHP类,它允许纯PHP生成PDF文件,也就是说没有使用PDFlib库。FPDF中的F意味着自由:你可以使用它的任何一种使用和修改它以适合你的需要。 FPDF还有其它优点:高水平的功能。这里是一个列表,它的主要特点...

    php生成PDF FPDF

    3. **简单易用**: FPDF的API设计简洁,开发者可以通过几行代码就能生成PDF文档。 4. **高效**: 由于其轻量级的特性,FPDF在处理大量数据时仍能保持较快的性能。 在使用FPDF时,你需要了解以下几个关键概念: **...

    fpdf使用自定义字库详细说明

    下面我们将详细介绍如何使用fpdf生成PDF文件时使用自定义字库。 首先,我们需要使用自定义的中文字库ttf文件生成相应的PHP文件,用于输出中文。这一步操作,在fpdf.org上有专门的说明,我们仅仅翻译抄录即可。 ...

    php用fpdf插件生成PDF带完整实例.zip

    在这个"php用fpdf插件生成PDF带完整实例.zip"的压缩包中,包含了使用FPDF与MySQL数据库交互生成PDF的完整示例。 首先,我们来看核心文件`fpdf.php`,这是FPDF库的主文件,包含了FPDF类的所有方法和属性。FPDF类提供...

    生成PDF的PHP类:FPDF1.7和中文

    使用FPDF生成PDF的基本流程如下: 1. 引入FPDF库:在PHP脚本中,首先需要引入fpdf.php文件,这个文件包含了FPDF类的所有定义。 2. 创建PDF对象:使用`new FPDF()`创建一个新的PDF对象实例。 3. 设置页面格式:通过`...

    FPDF: PDF生成器

    FPDF,全称为“Free PDF Document Generator”,是一个用于在服务器端生成PDF文档的PHP库。这个库的独特之处在于它完全由PHP编写,不需要任何外部依赖,如Adobe Acrobat,Ghostscript或其他PDF阅读器。通过FPDF,...

    fpdf(php生成pdf)

    FPDF 是一个用 PHP 编写的库,它允许开发者在 PHP 环境中生成 PDF 文档,无需依赖任何外部的软件或者扩展。这个库因其轻量级、易用和高度...FPDF 的灵活性和自给自足特性使得它在 Web 应用中成为生成 PDF 的首选工具。

    Fpdf16生成PDF中文说明文档(翻译)

    **Fpdf16生成PDF中文说明文档** **一、Fpdf16简介** Fpdf16是一个基于PHP的开源库,专门用于生成PDF文件。它允许开发者在服务器端创建PDF文档,无需安装任何桌面应用程序。这个库的核心在于,它完全用PHP编写,使得...

    基于PHP与FPDF的PDF文档的动态创建.pdf

    FPDF是一个用PHP编写的、免费的用于生成PDF文档的类库,可以从网上随意下载。FPDF具有与PHP一样的跨平台运行特性,主要功能包括页面设置、页眉及页脚定义、自动换行与分页、图片插入、超链接插入、颜色设置、字体...

    1.PHP使用插件fpdf fpdi 给PDF文件加水印(中文乱码)

    首先,fpdf是一个开源的PHP类库,它允许我们在服务器端生成PDF文件。fpdf提供了丰富的API,可以方便地创建、编辑和打印PDF文档。而fpdi是另一个PHP扩展,它的全称是"FPDI - PDF Document Importer",主要用于导入和...

    php实现生成PDF文件的方法示例【基于FPDF类库】

    在开始使用FPDF生成PDF文件之前,首先需要到其官方网站下载该库文件。下载之后,解压缩并将包含FPDF核心功能的文件夹(例如fpdf17)放到Web服务器的根目录下。然后,可以通过PHP的require或include语句来引入FPDF的...

    ttf2pt1.exe + fpdf1.81 + chinese.php + ttf2pt1-chinese-3.4.0

    使用这个文件,我们可以确保在使用FPDF生成PDF时,中文内容能够正确显示。 最后,`ttf2pt1-chinese-3.4.0.zip` 可能是一个包含特定中文TrueType字体以及与`ttf2pt1.exe` 配套的资源包。这个版本可能是针对中文字符...

    php生成PDF电子合同签名

    在PHP中生成PDF文件,通常会用到两个关键库:FPDI和FPDF。 FPDI(Flexible PDF Import)是一个用于PHP的PDF处理库,它允许将现有PDF文档中的页面导入到新的PDF文档中。在电子合同的场景中,可能需要从服务器端读取...

    php使用fpdf v1.51 生成PDF文件 ,并可以对多列的数据做自动折行处理

    php使用fpdf v1.51 生成PDF文件 ,并可以对多列的数据做自动折行处理. 附件为 fpdf_v1.51 版本源码 和我的测试程序 mytest.php mc_table.php . 处理 错误: 文件不以"%PDF-"结果的错误 $pdf-&gt;_out('%PDF-1.3');

    易语言FPDF支持库源码(PDF.fne)

    FPDF是"Free PDF"的缩写,是一个流行的PHP类库,用于生成PDF文档。在易语言中,通过FPDF支持库,开发者可以方便地创建、编辑和打印PDF文件,无需依赖Adobe Acrobat等外部软件。 FPDF库的核心功能包括: 1. **创建...

    fpdf在php环境下生成中文pdf

    `fpdf`是一个轻量级的库,专为PHP设计,用于生成PDF文档。本篇文章将详细探讨如何在PHP环境下利用`fpdf`库生成包含中文的PDF文件,并介绍与之相关的`addfont`功能。 `fpdf`库的核心功能是创建PDF文档,它允许开发者...

    PHP生成带中文的PDF文件 FPDF

    通过以上步骤,你应该能够成功地在PHP中使用FPDF生成带有中文的PDF文件。需要注意的是,如果遇到乱码问题,检查字体文件是否正确加载,以及PHP脚本的编码是否为UTF-8无BOM格式。此外,FPDF虽然功能强大,但对于复杂...

    fpdf(最新版 php生成pdf)

    php可以利用这个库生成pdf,而不需要依赖其他扩展库,...FPDF这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它所具有的特点包括:可选择的unit大小,页面格式和页边 距;页眉和页脚管理等

Global site tag (gtag.js) - Google Analytics