2014-09-05 79 views
0

合併PDF文件我已經合併了一些PDF文件,現在用的是解決方案的詳細here爲建設Ghostscript的命令:GhostScript的 - 在不同的目錄

// $output_file_name = 'test_file_complete.pdf' 
// $original_file = 'test_file.pdf' 
// $append_files = array('../toappend/1.pdf', '../toappend/2.pdf', '../toappend/3.pdf', '../toappend/4.pdf') 
public function merge_documents($output_file_name, $original_file, $append_files) 
{ 
    $cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$output_file_name "; 

    $cmd .= $original_file . " "; 

    foreach($append_files as $file) { 
     $cmd .= $file . " "; 
    } 

    $result = shell_exec($cmd); 
} 

的$ CMD字符串我打造的是:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=test_file_complete.pdf test_file.pdf ../toappend/1.pdf ../toappend/2.pdf ../toappend/3.pdf ../toappend/4.pdf 

請注意,要合併的第一個文件位於當前目錄中,其他文件位於另一個目錄中。

在命令行中,當我導航到原始文件的目錄並運行它時,它完美地工作。然而,在我的函數失敗與消息:

(string) Error: /undefinedfilename in (TEMP_quote_2014_09_05_13_16_04.pdf) Operand stack:

Execution stack: %interp_exit .runexec2 --nostringval--
--nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push Dictionary stack: --dict:1162/1684(ro)(G)--
--dict:0/20(G)-- --dict:77/200(L)-- Current allocation mode is local Last OS error: 2

如果我在「toappend」目錄僅使用文件運行的代碼,它會合並這些罰款。

回答