私は MAC で作業しています。Qt または APplescript を使用して、Mac マシンで .bmp および .JPEG ファイルを .PDF ファイル形式に変換したいと考えています。私のオペレーティング システムのバージョンは 10.6 です。
ありがとう
私は MAC で作業しています。Qt または APplescript を使用して、Mac マシンで .bmp および .JPEG ファイルを .PDF ファイル形式に変換したいと考えています。私のオペレーティング システムのバージョンは 10.6 です。
ありがとう
OSX には、 sipsと呼ばれるまさにこの種のものに役立つコマンド ライン ユーティリティがあることがわかりました。これは、他の回答の UI スクリプト作成とはまったく異なるアプローチであるため、別の回答に投稿しています。
必要なことを行うための小さなラッパー シェル スクリプトを作成できます。
#!/bin/bash
sips -s format pdf "$1" --out "${1%.*}.pdf"
これを img2pdf などの名前で保存し、実行権限を付与します。
chmod +x img2pdf
次に、次のコマンドを使用して変換を行うことができます。
./img2pdf.txt "/Users/mmouse/Desktop/Screen Shot 2013-07-22 at 9.00.36 AM.png"
シェルスクリプトでこれを本当に望んでおらず、Applescript が必要な場合は、Applescript から関連するコマンドを呼び出すことができます。
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-22 at 9.00.36 AM.png"
do shell script "imgfile=" & quoted form of ImgFile & " ; sips -s format pdf \"$imgfile\" --out \"${imgfile%.*}.pdf\""
興味深い点として、.pdf を .png に変換するなど、反対のことを行う必要がある場合は、OSX のImage Events スクリプト拡張機能を使用すると、これを簡単に行うことができます。
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-18 at 2.52.47 PM.pdf"
tell application "Image Events"
set Img to open file ImgFile
save Img as PNG
end tell
残念ながら、Image Events スクリプト拡張機能では、PDF ファイルの読み取りのみが許可され、書き込みは許可されないため、特定の状況では役に立ちません。
これはもっと洗練された方法で記述できますが、Preview アプリケーションでこれを実行するための簡単なUI 要素スクリプトを次に示します。
好きなファイル名に設定ImgFile
- パラメータを渡すことができるようにスクリプトを変更できます。
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-18 at 2.52.47 PM.png"
do shell script "open -a Preview " & quoted form of ImgFile
tell application "Preview"
activate
end tell
tell application "System Events"
-- turn on UI automation - may throw a permissions dialog
if UI elements enabled is false then
set UI elements enabled to true
end if
click menu item "Export…" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
delay 1 -- sigh - wait for window to open
click pop up button 1 of group 1 of sheet 1 of window 1 of application process "Preview"
click menu item "PDF" of menu 1 of pop up button 1 of group 1 of sheet 1 of window 1 of application process "Preview"
click UI element "Save" of sheet 1 of window 1 of application process "Preview"
click menu item "Close Window" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
end tell
一般に、これらのキーワードを使用すると、スクリプトはプログラムのユーザー インターフェイスの特定の要素と直接対話できます。Google で「applescript ui scripting」を検索してください。このトピックに関する優れたページがいくつかあります。
例えば:
click menu item "Export…" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
この行は文字通り、「プレビュー」アプリケーションの「ファイル」メニューにある「エクスポート…」項目をクリックします。したがって、「エクスポート…」ダイアログボックスが開きます。残りの行は、そのダイアログと対話して、画像を .pdf ファイルにエクスポートします。
スクリプトは、書かれているように、同じフォルダー内の .pdf への画像変換を、まさにあなたが望んでいるように行うべきだと思います。
さらに多くの UI スクリプトを作成したい場合は、Automator アプリケーションの記録機能が非常に便利です。このアプリケーションから記録されたステップを文字通り選択してコピーし、Applescript エディタに貼り付けると、同等の Applescript 要素として表示されます。また、UI Element Inspector または Accessibility Inspector (xcode) は、制御したい特定のアプリケーションの UI 構造を把握するのに非常に役立ちます。
「画像から新規 PDF」自動化アクションがあります...自動化ワークフローを使用するだけです。