Генерация нескольких PDF-файлов с использованием класса FPDF - PullRequest
1 голос
/ 20 мая 2010

Я добавил ссылку на страницу, щелкнув по которой генерируется PDF-файл и запрашивает загрузку, для которой я использовал класс fpdf.

Мое новое требование заключается в том, что нажатие на ссылку должно генерировать число pdf с различным содержанием и запрашивать загрузку этих файлов pdf.

Я не могу найти способ сделать то же самое.

Пожалуйста, помогите мне в этом.

Спасибо

Ответы [ 4 ]

2 голосов
/ 20 мая 2010

На 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 голос
/ 30 апреля 2019

Я использовал текущий код на своей странице 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>";  
    }}
     }

Параметр вывода для файла PDF в файле single_letter_fixation.php:

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

Хорошо работает.

1 голос
/ 20 мая 2010

Правильный метод для отправки вашего сгенерированного файла в браузер - $pdf->Output() - это позволит вам отправить только один сгенерированный файл PDF. Единственная возможность отправить больше файлов - это сжать их [1], а затем отправить файл пакета.

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

1 голос
/ 20 мая 2010

Вы не можете отправить несколько файлов пользователю, но вы можете сгенерировать их, упакуйте, например, Заархивировать на сервере и отправить одним файлом.

...