是否可以将不同文件类型的多个文件组合到PHP中的单个PDF文件中?

时间:2015-12-22 12:46:07

标签: php pdf-generation laravel-5.1

我正在使用laravel framework 5.1版。我的要求是上传多个doc,docx,pdf类型的文件,并将此文件保存为单个PDF文件。我找到了可以组合/编辑PDF文件的软件包。但是,是否有任何库/包可供laravel用doc / docx文件执行此操作?

2 个答案:

答案 0 :(得分:1)

我发现LibreOffice允许使用LibreOffice转换引擎进行命令行转换(DID保留了我想要的格式并且通常效果很好)。

libreoffice --headless -convert-to pdf fileToConvert.docx -outdir output/path/for/pdf

但我在主机的网络服务器上没有管理员权限。

然后我遇到了博士生的一个很酷的项目。斯坦福大学的学生(Philip J. Guo)致电CDE(Code Data Environment)。简而言之,它允许通过复制运行某些命令时使用的所有文件来避免依赖地狱,重新创建命令工作的linux环境。我能够使用它来运行LibreOffice,而不必使用它的可移植版本,它就像我在Ubuntu上用上面的命令做的那样工作,并调整:我需要运行CDE生成的LibreOffice包装器。

答案 1 :(得分:0)

我不知道有什么方法可以做到这一点,但由于我还没有发表评论(刚加入),我就是这样做的。

使用您的表单和控制器上传文件进行验证,存储等。 然后将路径数组传递给您上传到刀片模板的文件,并根据文件类型将它们嵌入到页面中。

这个包 https://github.com/barryvdh/laravel-dompdf

可以将html模板转换为pdf。

希望它指出你正确的方向

$pdf = App::make('dompdf');

$files = ['your file paths'];

$pdf->loadView('template.path', ['files' => $files])->setPaper('A4')->setOrientation('portrait');
    return $pdf->stream('download.pdf');