首页 文章

将PDF与Codeigniter合并

提问于
浏览
0

我用以下答案编写了以下用于合并PDF的代码https://stackoverflow.com/a/19856524/6068342

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://www.setasign.com/fpdi-pdf-parser)

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

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

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

2 回答

  • 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();
    ?>
    
  • 0

    这是PDF版本的问题

相关问题