当前位置: 首页 > 知识库问答 >
问题:

合并几个pdf文件

林星阑
2023-03-14

我想合并几个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错误500
  • 如果我尝试使用更多文件,就会出现tcpdi_解析器内存不足错误

底线是它似乎不起作用。

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

我很清楚这个问题已经被问过了,没有一个解决方案似乎行得通。

共有1个答案

养慈
2023-03-14

您可以尝试使用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')

查看除convert以外的其他可能的工具:此处

警告:请记住,调用exec一般来说不是一个好主意,由于潜在的安全漏洞,您应该尽量避免它。绝对安全,public_path函数不能从用户输入注入恶意命令!

 类似资料:
  • 主要内容:合并多个PDF文档,示例在前一章中,我们已经看到如何将给定的PDF文档分成多个文档。 现在让我们学习如何将多个PDF文档合并为一个文档。 合并多个PDF文档 使用类的类将多个PDF文档合并到单个PDF文档中,该类提供了将两个或多个PDF文档合并到单个PDF文档中的方法。 以下是合并多个PDF文档的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态

  • 问题内容: 如何将多个PDF文件合并/转换为一个大PDF文件? 我尝试了以下操作,但是目标文件的内容不符合预期: 我需要一个非常简单/基本的命令行(CLI)解决方案。最好的办法是,如果我可以将合并/转换的输出直接传送到管道中(就像我之前在这里提出的问题中最初尝试的那样:Linux管道(convert->pdf2ps-> lp)。 问题答案: 抱歉,我设法使用Google自己找到了答案,还有些运气:

  • 在上一章中,我们已经了解了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面中提取图像。 从PDF文档生成图像 PDFBox库为您提供了一个名为PDFRenderer的类, PDFRenderer PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态方法load()加载现有PDF文档

  • 在上一章中,我们已经了解了如何将给定的PDF文档拆分为多个文档。 现在让我们学习如何将多个PDF文档合并为一个文档。 合并多个PDF文档 您可以使用名为PDFMergerUtility类的类将多个PDF文档合并到一个PDF文档中,此类提供了将两个或多个PDF文档合并到单个PDF文档中的方法。 以下是合并多个PDF文档的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态方法load

  • 我正在尝试合并我的应用程序中的两个pdf文件。但我的应用程序在创建组合文件引用的时候不断出现故障。(参见代码中的注释)。有人能给我指一下这里的正确方向吗?谢了。

  • 我想将至少2个PDF文件合并为一个,同时保留原始PDF中的所有表单元素。表单元素包括文本字段、单选按钮、复选框、下拉菜单等。请查看此示例PDF文件的表单: 你能做到吗? 编辑:至于实现,我更希望在linux平台上使用开源工具(如'ghostscript'或任何其他您认为适合解决此任务的工具)的命令行解决方案。 当然,欢迎每个人提供解决这个问题的任何工作解决方案,包括一个编码解决方案,它涉及编写一个