将PDF与Codeigniter合并

时间:2017-12-28 07:04:57

标签: php codeigniter pdf

我使用此答案Hosted In GitHub.

编写了以下用于合并PDF的代码
function merge_pdfs() {

    $pdfs_array = array('1.pdf', '2.pdf');

    $pdf = new FPDI_Protection();

    for ($i = 0; $i < count($pdfs_array); $i++ ) {
        $pagecount = $pdf->setSourceFile($pdfs_array[$i]);

        for($j = 0; $j < $pagecount ; $j++) {

            $tplidx = $pdf->importPage(($j +1), '/MediaBox');
            $pdf->addPage('P','A4');
            $pdf->useTemplate($tplidx, 0, 0, 0, 0, TRUE);
        }
    }

    $dt = new DateTime(NULL, new DateTimeZone($data->user->timezone));
    $pdf->SetTitle('PDF, created: '.$dt->format(MYHMRS_DATETIME_FRIENDLY));
    $pdf->SetSubject('PDF subject !');
    $output = $pdf->Output('', 'S');
    $name = "PDF".'-'.$dt->format('ymd').'.pdf';

    $this->output
        ->set_header("Content-Disposition: filename=$name;")
        ->set_content_type('Application/pdf')
        ->set_output($output);
}

所以,在此之后我收到以下错误消息

  

本文档(1.pdf)可能使用FPDI附带的免费解析器不支持的压缩技术。 (有关详细信息,请参阅https://stackoverflow.com/a/19856524/6068342

我检查了链接,它建议设置另一个PDF解析器(如果我理解正确的话)

但我不知道如何使用Codeigniter和我的例子

我应该创建库并尝试使用它吗? 或者您可能知道另一种合并PDF的解决方案

2 个答案:

答案 0 :(得分:0)

一个例子。这很简单。

<?php
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->AddPage('P');
$mpdf->WriteHTML('<h1>More</h1>');
$mpdf->Output();
?>

答案 1 :(得分:0)

这是PDF版本的问题