2014-10-02 46 views
0

我正在考慮使用ImageMagick從PDF文件中提取單個頁面中的圖像。我如何捕獲由它生成的文件的名稱?看起來-verbose選項包含有關生成文件的信息,但這是收集該文件的可靠方法嗎?任何其他的選擇?捕獲ImageMagick生成的圖像信息

+1

不知道我明白這一點......如果你有'FreddyFrog.pdf'並且你使用IM'convert'來創建e'PeppaPig.jpg',你想要捕捉什麼?您的文件系統中已經有了輸入文件和輸出文件。對不起,如果我是愚蠢的。 – 2014-10-02 14:26:06

+0

如果我有'FreddyFrog.pdf',它可能會生成'FreddyFrog [1] .png','FreddyFrog [2] .png',直到'FreddyFrog [n] .png'。我不知道它有多少頁面。 ImageMagick知道它產生了多少。我想調用這個命令,然後希望在stdout上捕獲一些內容以知道它生成了多少,以及這些文件的名稱是什麼。 – 2014-10-03 06:03:47

回答

0

取決於你想做的事,我想你至少有3個選項...

選項1

如果你想知道的頁數達陣,先驗,你可以得到ImageMagick的告訴你是這樣的:

identify -format %n FreddyFrog.pdf 
8 

,或者如果你想在一個變量,

pages=$(identify -format %n FreddyFrog.pdf) 
echo $pages 
8 

選項2

你可以告訴ImageMagick的如何格式化輸出文件的名稱,這樣,當%04d說,使用4位和前墊零:

convert -density 72 FreddyFrog.pdf FreddyFrog-%04d.tif 

然後您將自動知道輸出文件的名稱。

ls FreddyFrog-* 
FreddyFrog-0000.tif FreddyFrog-0003.tif FreddyFrog-0006.tif 
FreddyFrog-0001.tif FreddyFrog-0004.tif FreddyFrog-0007.tif 
FreddyFrog-0002.tif FreddyFrog-0005.tif 

選項3

您可以用shell 畫一條線在沙你轉換文件之前,然後找到一切新算賬:前

> before             # or "touch before" if you prefer 
convert FreddyFrog.....          # strut your IM stuff 
for f in *; do [[ "$f" -nt before ]] && echo $f; done  # list files newer than line in sand 
rm before             # clean up 

RM

+0

這是什麼運氣? – 2014-10-06 15:20:07

+0

你是怎麼做到的? – 2014-10-07 15:53:47