オートメーターを利用してPDFを画像に変換。
PDFを画像に変換する場合、
手動ならAdobe Acrobatやオートメーター。
シェルスクリプトなら追加インストールでできますが、
どれもアップルスクリプトに組み込むのに、
問題があったり、手間がかかったりします。
そこで、ネットにオートメーターを組み込んだ、
アップルスクリプトがあったので、
ちょっと改良したものを紹介します。
OSXでのPDFの画像変換は、
オートメーターでは、標準の機能で出来るのに、
スクリプトだと標準の機能で出来ないんですよね。
【作成方法】
アプリケーション > Automator > ワークフローを選択。
ライブラリ > PDF > PDFページをイメージとしてレンダリング をダブルクリック。
設定は「フォーマット:JPGイメージ」以外はお好みで。
そして「PDFtoJPG.workflow」の名前で保存します。
次にアップルスクリプトにAutomatorのワークフローを組み込んでいきます。
ユーティリティ > AppleScript エディタを起動。
下記のAppleScriptコードを入力して、
アプリケーション形式で「PDFtoJPG.app」などの適当な名前で保存。
▼AppleScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
try set sourceFiles to choose file with prompt "PDFを選択してください。(複数選択可)" of type {"com.adobe.pdf"} with multiple selections allowed on error return end try tell application "Finder" set oya to parent of item 1 of sourceFiles set destFolder to quoted form of POSIX path of (oya as string) set myPath to parent of (path to me) as string set myPath to do shell script "echo " & (quoted form of myPath) & "| sed -e 's/\\.[a-zA-Z]*$//;'" --拡張子をトル set workFlow to (myPath & "PDFtoJPG.workflow") as string end tell set workFlow to quoted form of POSIX path of workFlow repeat with sourceFile in sourceFiles -- get base name of the source file set bName to do shell script "basename " & quoted form of POSIX path of sourceFile -- Strip off the extension set text item delimiters to "." set bName to text item 2 of bName try set res to do shell script "automator -i " & quoted form of POSIX path of sourceFile & space & workFlow on error msg number n error msg & space & n end try -- Seems strange to do it this way but it works set text item delimiters to "\"" set theList to text items of res set cnt to 0 repeat with convertedFile in theList if convertedFile does not contain "alias" and convertedFile does not contain "}" then set fullPath to quoted form of POSIX path of convertedFile if cnt ≠ 0 then do shell script "mv " & fullPath & space & destFolder & bName & "_" & cnt & ".JPG" else do shell script "mv " & fullPath & space & destFolder & bName & ".JPG" end if set cnt to cnt + 1 end if end repeat end repeat |
【使い方】
作成した「PDFtoJPG.workflow」とアップルスクリプトを同階層におきます。
アップルスクリプトをダブルクリックして、
PDFファイルを選択するとPDFと同階層にjpgファイルが書き出されます。
【注意点】
PDFのファイル名に半角()が使用されていると、
jpgファイルがOS Xのprivateフォルダーに取り残されてしまいます。
また、他にも使用できない文字があるかも知れません。
参考情報
https://discussions.apple.com/thread/3011441?tstart=0
AS Hole(AppleScriptの穴) By Piyomaru Software » 指定のAutomator Workflowのファイルを実行する
新・OS X ハッキング! (91) OS X標準の機能でも、PDFはここまでできる | マイナビニュース
PDFを画像に変換する: Cocoa日曜プログラム日誌 ここぶろ