以下命令在pdf文件上執行ghostscript。 (該pdf_file
變量包含的路徑PDF)R腳本自動化時的不同結果
bbox <- system(paste("C:/gs/gs8.64/bin/gswin32c.exe -sDEVICE=bbox -dNOPAUSE -dBATCH -f", pdf_file, "2>&1"), intern=TRUE)
執行bbox
之後包括以下字符串。
GPL Ghostscript 8.64 (2009-02-03)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
%%BoundingBox: 36 2544 248 2825
%%HiResBoundingBox: 36.395015 2544.659922 247.070032 2824.685914
Error: /undefinedfilename in (2>&1)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:1147/1684(ro)(G)-- --dict:1/20(G)-- --dict:69/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 8.64: Unrecoverable error, exit code 1
此字符串那麼爲了操縱用於BoundingBox的尺寸(36 2544 248 2825),以進行分離,並且用於裁剪PDF文件。到目前爲止,一切正常。但是,當我在任務管理器(使用Rscript.exe或Rcmd.exe BATCH)中安排此腳本時,或者腳本位於R塊內時,我按knit HTML
,bbox將獲得以下字符串,該字符串缺少BoundingBox信息,並使其無法使用:
GPL Ghostscript 8.64 (2009-02-03)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
Error: /undefinedfilename in (2>&1)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:1147/1684(ro)(G)-- --dict:1/20(G)-- --dict:69/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
如何解決此問題並讓腳本自動運行?
(該腳本來自接受答案that question)
邊框被寫入stderr, 和'2>&1'將stderr重定向到標準輸出。 但是,這種語法顯然不被Windows識別。 – 2013-02-14 09:04:26
它被Windows命令處理器識別,但這不是從命令shell執行的,因此重定向不會發生。 – KenS 2013-02-14 10:47:17
'pdf_file'是否包含PDF的完整路徑? – robertklep 2013-02-16 11:46:15