0

OS Xでを使用Applescriptまたは作成して、複数の PDF ファイルからパスワードを削除するにはどうすればよいですか?Workflow

私のシナリオは、フォルダーに複数のパスワードで保護された PDF ファイルがあることです。私はすべてのパスワードを知っていますが、それは同じです。このフォルダーでワークフローを実行できるようにして、そのフォルダー内のすべての PDF がワークフローによってロック解除されるようにしたいと考えています。

または、これらすべてのファイルに対して一度に Applescript シェル コードを実行します。

また、フォルダにPDFを配置/移動/貼り付けすると自動的にロックが解除される方法を作成できるようにしたい:)

助けてください!!


更新

私はpdftkを試しました。pdftk がインストールされると、次のコードはTerminalでうまく動作します

pdftk secured.pdf input_pw foopass output unsecured.pdf

ここで、選択したファイルまたはフォルダー内のすべてのファイルに対してこのコマンドを実行するワークフローを作成できるようにしたいと考えています。

4

2 に答える 2

2

シェル スクリプトを実行する AppleScript コマンドは do shell script です。次のようなものです。

do shell script "pdftk secured.pdf input_pw foopass output unsecured.pdf"

動作するはずです。この時点で、2 つのオプションが表示されます。

  1. ユーザーにフォルダーを要求するか、Finder の選択から取得する AppleScript スクリプトを作成し、フォルダー内の各ファイルに対してコマンドを実行します。
  2. 既に利用可能なアクションを使用してフォルダーからファイルを取得する Automator ワークフローを作成し、AppleScript スクリプトを実行する新しいアクションを添付します。

オプション 2 では、次の図のように Automator ワークフローを設定できます。

ここに画像の説明を入力

于 2013-01-16T11:59:16.250 に答える
1

「フォルダアクション」について聞いたことがありますか?これは、AppleScriptをフォルダに添付して、新しいファイルがフォルダに追加されるたびにAppleScriptが実行されるようにする方法です。クイックグーグル検索はこれを見つけました、それはあなたにそれをセットアップする方法についての指示を与えるでしょう。それでも質問がある場合は、さらにグーグル検索を行うことができます。

これは、フォルダアクションで使用できるAppleScriptです。私はそれをテストしませんでしたが、それは動作するはずです(それは基本的なコードです)。これは、PDFファイルでのみ機能します。フォルダに追加した他のファイルはそのままになります。:スクリプトの最初の4つの変数の値を入力する必要があります。

幸運を。

on adding folder items to theFolder after receiving theItems

    -- enter your values here
    set pdftkPosixPath to "/usr/bin/pdftk"
    set pWord to "foopass"
    set appendedName to "_unlocked" -- text to append to the file name
    set shouldTrash to true -- true or false, move the locked file to the trash after unlocking?

    set fContainer to theFolder as text
    repeat with anItem in theItems
        try
            tell application "System Events"
                set fName to name of anItem
                set fExt to name extension of anItem
            end tell

            if fExt is "pdf" and fName does not contain appendedName then
                set baseName to (text 1 thru -5 of fName) & appendedName & ".pdf"
                set newPath to fContainer & baseName
                do shell script (quoted form of pdftkPosixPath & space & quoted form of POSIX path of anItem & " input_pw " & quoted form of pWord & " output " & quoted form of POSIX path of newPath)

                if shouldTrash then
                    tell application "Finder" to move anItem to trash
                end if
            end if
        end try
    end repeat
end adding folder items to

編集:パスワードを要求する方法は次のとおりです。テキストを見たい場合は、「非表示の回答付き」を削除してください。

display dialog "Enter a password:" default answer "" with icon note with hidden answer
set theAnswer to text returned of the result
if theAnswer is not "" then set pWord to theAnswer
于 2013-01-16T12:20:11.537 に答える