【发布时间】:2016-08-24 15:24:34
【问题描述】:
我正在尝试使用带有以下代码的 Ghostscript 合并服务器上的多个 PDF 文件:
$files = array(
'1.pdf',
'2.pdf',
'3.pdf'
);
$output = 'single.pdf';
$cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$output ";
foreach($files as $file)
$cmd .= "pdfs/$file ";
var_dump(shell_exec($cmd));
我使用的脚本位于根文件夹中,而 PDF 文件位于名为 pdfs 的文件夹中:
/[pdfs]
|__ 1.pdf
|__ 2.pdf
|__ 3.pdf
script.php
文件夹和文件的权限都是777。
但尽管如此,什么都没有发生,返回值为NULL。
那么我做错了什么?使用 Ghostscript 将多个 PDF 文件合并为一个的确切方法是什么?
【问题讨论】:
-
您是否尝试过回显 $cmd 而不是执行它,以便您可以将其复制并粘贴到终端中以验证该命令是否有效且正常工作?
-
我可以试试,但我会使用哪个终端?我刚刚检查了我的服务器,我看到 PDF 文件最终被合并并且输出结果是正确的。自上次测试以来,我什么都没做。所以我认为这可能只是时间问题。有没有办法计算需要多长时间?
标签: php pdf ghostscript