如何使用 php mpdf 库将多个 PDF 文件合并为一个 PDF
Posted
技术标签:
【中文标题】如何使用 php mpdf 库将多个 PDF 文件合并为一个 PDF【英文标题】:How to Merge Multiple PDF Files Into One PDF using php mpdf library 【发布时间】:2020-07-21 12:44:57 【问题描述】:我的目标是将多个文件合并为单个 pdf 文件。为此,我从数据库中获取具有不同文件格式的多个文件。所有 JPG/PNG 文件从中添加到 html 页面并将其转换为单个 pdf 文件。
$dat='<html>
<head>
<title>Title of the document</title>
</head>
<body>
<img src="/uploads/file_name1.PNG" >
<img src="/uploads/file_name2.PNG" >
</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)时,它将不起作用。 请帮我解决这个问题。
【问题讨论】:
【参考方案1】:我不知道如何使用 mpdf,但我在 Linux 上的生产环境中完成了所有这些工作,在质量、大小和时间方面都取得了优异的成绩:
-
调用“convert -density 150 -strip -interlace JPEG -compress JPEG -quality 72' [file] [fileDst]”将所有光栅文件转换为 PDF。
一旦所有 PDF 文件调用 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=[pdfDstFile] [filesInput]。
无需创建 html 文件,只需安装所需的 Linux 软件包并处理输入文件。 (请检查语法并调整参数,代码只是从我的代码中粘贴的)
【讨论】:
以上是关于如何使用 php mpdf 库将多个 PDF 文件合并为一个 PDF的主要内容,如果未能解决你的问题,请参考以下文章