使用FPDF类生成多个pdf

时间:2010-05-20 07:34:49

标签: php fpdf

我在页面上添加了一个链接,点击该链接生成pdf并要求下载我使用过的fpdf类。

我的新要求是点击链接应生成n个不同内容的pdf,并要求下载这些pdf文件。

我无法找到完成相同的方法。

请帮我解决这个问题。

由于

4 个答案:

答案 0 :(得分:2)

http://www.phpconcept.net/pclzip/你会找到一个不错的php zip库。想象一下,有一个像

这样的文件名数组
$filenames = array(
    "file_01.txt",
    "file_02.doc",
    "file_03.pdf"
);

代码看起来像这样(未经测试)

require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
foreach($filenames as $filename) {
    $result = $archive->add($filename);
    if($result==0) {
        die ("Error: " . $archive->errorInfo(true));
    }
}
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=archive.zip");
readfile("archive.zip");

希望这会有所帮助; - )

答案 1 :(得分:1)

您无法向用户发送多个文件,但您可以生成这些文件,例如打包在服务器上压缩并作为一个文件发送。

答案 2 :(得分:1)

将生成的文件发送到浏览器的正确方法是$pdf->Output() - 这只允许您发送一个生成的pdf文件。发送更多文件的唯一选择是压缩它们[1],然后发送包文件。

[1] http://www.devco.net/archives/2005/05/24/creating_zip_files_with_php.php

答案 3 :(得分:1)

我在php页面中使用了下面的代码:

 if(isset($_GET['get_pdf'])){
     $query = "SELECT * FROM tbl_fixation WHERE postedby = '$name_user' ORDER BY fixation_id ASC ";
      $data_query = $hrmdb->select($query);
      if($data_query ){
        $i=0;
        while ($rows= $data_query ->fetch_assoc()) {
          $i++;
          $fixation_id = $rows['fixation_id']; 
echo "<script> window.open('allpdf/single_letter_fixation.php?fixation_id=".$fixation_id."','_blank');</script>";  
    }}
     }

single_letter_fixation.php中pdf文件的输出选项是:

$pdf->Output('D', $personal_file_number.pdf');

效果很好。