合并几个pdf文件

时间:2017-04-05 10:15:09

标签: php laravel pdf

我想合并几个pdf文件。我怎么能这样做?

到目前为止,我有这个。

我试图使用这个软件包myokyawhtun / PDFMerger。

    include base_path('vendor/myokyawhtun/pdfmerger/PDFMerger.php');

    $pdf = new \PDFMerger;

    $pdf->addPDF(public_path('doc/uploads/doc_1.pdf'), 'all');
    $pdf->addPDF(public_path('doc/uploads/doc_2.pdf'), 'all');

    $pdf->merge('file', public_path('doc/files/test.pdf'));

根据我尝试合并的文件,错误会有所不同。

  • 如果我尝试将相同的pdf合并两次,则会生成该文件但所有空白。
  • 如果我尝试使用上面的代码,我会收到HTTP ERROR 500。
  • 如果我尝试使用更多文件,我会收到tcpdi_parser - 内存不足错误。

底线是,它似乎无法运作。

我已经尝试了其他几个使用FPDI的软件包。问题是它只适用于等于或低于1.4的pdf版本(如果我没有弄错的话)。因此,使用其中任何一种似乎都不是一种选择。

我很清楚已经提出这个问题,但解决方案似乎都没有效果。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用exec

调用外部工具
exec("convert -density 300x300 -quality 100 " 
    . public_path('doc/uploads/doc_1.pdf') . " "
    . public_path('doc/uploads/doc_2.pdf') . " "
    . public_path('doc/uploads/merged.pdf')

请参阅转换以外的其他工具:here

警告:请记住,通常调用exec不是一个好主意,您应该尝试避免它,因为潜在的安全漏洞。绝对安全,public_path函数不能从用户输入注入恶意命令!