-1

私は MAC で作業しています。Qt または APplescript を使用して、Mac マシンで .bmp および .JPEG ファイルを .PDF ファイル形式に変換したいと考えています。私のオペレーティング システムのバージョンは 10.6 です。

ありがとう

ここに画像の説明を入力

4

3 に答える 3

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 ファイルの読み取りのみが許可され、書き込みは許可されないため、特定の状況では役に立ちません。

于 2013-07-26T17:51:15.037 に答える
0

これはもっと洗練された方法で記述できますが、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 構造を把握するのに非常に役立ちます。

于 2013-07-26T02:32:06.003 に答える
0

「画像から新規 PDF」自動化アクションがあります...自動化ワークフローを使用するだけです。

于 2013-07-25T08:12:07.947 に答える