2016-03-06 68 views
0

所以我有一個PDF文件,我使用Automator從每張幻燈片生成JPG文件。然後,我想循環瀏覽這些圖像中的每一個,並從它們中創建並排的照片。所以,第1頁和第2頁將創建一個圖像,然後第3頁和第4太,等等...我有一個AppleScript行動到目前爲止該輸入是所有圖像文件:在Automator中使用Applescript將圖像與ImageMagick結合使用

on run {input, parameters} 

    set selectedFiles to {} 

    repeat with i in input 
     copy (POSIX path of i) to end of selectedFiles 
    end repeat 

    return selectedFiles 
end run 

功能我想要做的這是什麼,這是一個ImageMagick的函數的兩個合併到圖像旁邊的海誓山盟:

do shell script "convert " +append 01.jpg 02.jpg 01&2.jpg 

如何添加這個功能我AppleScript的內上方?

或者它可能會更容易做與殼牌腳本?

+0

我的答案或任何其他答案是否解決了您的問題?如果是這樣,請考慮接受它作爲您的答案 - 通過點擊投票計數旁邊的空心綠色勾號/複選標記。如果沒有,請說出什麼不起作用,以便我或其他人可以進一步幫助您。謝謝。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

回答

0

我是有點倉促所以不是我的代碼最好的一塊,但你可以做到這一點在bash這樣的:

#!/bin/bash 
# pdfsheets 
# 
# Passs the name of a PDF as parameter and get it as a bunch of double-page spreads called "sheet-0.jpg" ... "sheet-n.jpg" 
# 
# Pick up parameter 
pdf=$1 
echo "Processing document: $pdf" 

# Split document into individual pages each as JPEG 
convert "$pdf" page-$$-%03d.jpg 

# Get names of pages into array and see how many we got 
pages=($(ls page-$$-*.jpg)) 
npages=${#pages[@]} 
echo DEBUG:npages:$npages 

# Check if odd number of pages - synthesize empty white one at end if odd 
if [ $((npages%2)) -ne 0 ]; then 
    lastpage=${pages[@]:(-1)} 
    echo DEBUG:lastpage:$lastpage 
    newlast=$(printf "page-$$-%03d.jpg" $npages) 
    convert "$lastpage" -threshold -1 $newlast 
    pages=($(ls page-$$-*.jpg)) 
    npages=${#pages[@]} 
fi 
s=0 
for ((i=0;i<npages;i+=2)) do 
    a=${pages[i]} 
    b=${pages[((i+1))]} 
    out=$(printf "sheet-%d.jpg" $s) 
    echo Converting $a and $b to $out 
    convert $a $b +append $out 
    ((s++)) 
done 

運行它像這樣,讓輸出如下:

./pdfsheets document.pdf 
Processing document: document.pdf 
DEBUG:npages:5 
DEBUG:lastpage:page-49169-004.jpg 
Converting page-49169-000.jpg and page-49169-001.jpg to sheet-0.jpg 
Converting page-49169-002.jpg and page-49169-003.jpg to sheet-1.jpg 
Converting page-49169-004.jpg and page-49169-005.jpg to sheet-2.jpg 
+0

謝謝!我嘗試了你的建議。我猜在第6行$是#,所以我改變了。但仍然給我一個錯誤:http://pastebin.com/tJb33jNp – passatgt

+0

嗯......奇怪! '$'應該是'#',是的。它在我的機器上運行良好。你能運行'identify/Users/visztpeter/Downloads/document.pdf'並看看是否在你的PDF中找到了一些頁面嗎? –

+0

如果不成功,可以將第一行更改爲'#!/ bin/bash -xv'並再次運行,您將得到各種調試。 –

相關問題