首页 > 解决方案 > 如何使用 php mpdf 库将多个 PDF 文件合并为一个 PDF

问题描述

我的目标是将多个文件合并为单个 pdf 文件。为此,我从数据库中获取具有不同文件格式的多个文件。从中将所有 JPG/PNG 文件添加到 html 页面并将其转换为单个 pdf 文件。

$dat='<html>
        <head>
            <title>Title of the document</title>
        </head>
        <body>
        <img src="/uploads/file_name1.PNG" width="100%" >
        <img src="/uploads/file_name2.PNG" width="100%" >
        </body>
        </html>';
        $header_data = array('header'=>'','footer'=>'');
        $this->load->library('mpdf');
        $mpdf = new mPDF('c','A4',10, 'Arial',10,10,10,10,0,0);
        $mpdf->useAdobeCJK = true;
        //$mpdf->SetAutoFont(AUTOFONT_ALL);
        $data['cmp_id']=1;
        $header_data = array('header'=>'','footer'=>'');
        $mpdf->SetHTMLHeader(array('h'=>'35','html'=>$header_data['header'],'',''));
        $mpdf->SetHTMLFooter(array('h'=>'25','html'=>$header_data['footer'],'',''));
        $mpdf->SetTitle($candidate_name);
        $mpdf->WriteHTML($dat);
        $mpdf->Output('forms.pdf','I');

现在我需要使用 mpdf 库合并这个 pdf 文件和从数据库中获取的其他 pdf 文件。

否则包括pdf在内的所有文件都需要采用html格式,我可以从中使用生成的pdf文件。当我在html中添加pdf文件(使用iframe)时,它不起作用。请帮我解决这个问题。

标签: phpjquerycodeigniter-3mpdf

解决方案


我不知道如何使用 mpdf,但我在 Linux 上的生产环境中完成了所有这些工作,在质量、大小和时间方面取得了优异的成绩:

  1. 所有光栅文件都转换为 PDF 调用'convert -density 150 -strip -interlace JPEG -compress JPEG -quality 72' [file] [fileDst]'。
  2. 一旦所有 PDF 文件调用 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=[pdfDstFile] [filesInput]。

无需创建 html 文件,只需安装所需的 Linux 包并处理输入文件。(请检查语法并调整参数,代码只是从我的代码中粘贴的)


推荐阅读