Applescriptは.Pagesドキュメントに画像を挿入します


0

私はオンラインで多くの例を試しましたが、すべてが機能していないようです。Automatorを介して画像を受信し、各ファイルをインクリメンタルに分配し、次のApplescriptを実行します。

on run {input, parameters}
   set img to item 1 of input

   tell application "Pages"
       set thisDocument to make new document

       tell thisDocument
          make new image with properties {image img}
       end tell

   end tell
end run

すべての画像を同じPages文書に挿入する必要がありますが、代わりに「文書{画像(エイリアス: "特定のパス")を文書ID: "特定のID"}で画像の型プロパティに作成できません。

誰かが私が間違っていることを指摘できますか?


Automatorのワークフロー Automatorのワークフロー


いくつかのこと...フォルダー内容の取得は通常の標準ワークフローの最初のアクションにできないため、表示しているワークフローは不完全です。それで、その前に何がありますか?OS X 10.11を実行していませんが、それより前は、デフォルトでは、Dispense Items Incrementally Actionは存在しないため、テストを行うためにワークフローを複製することはできません。OS X 10.11を実行していますか?そのアクションはデフォルトアクションですか?AppleScriptコードに表示されるエラーの1つはである{image img}必要があります{image data:img}repeat削除された質問のコメントへのリンクで言及したステートメントを使用してみましたか?
user3439894

回答:


1

ディスペンスアイテムのインクリメンタルアクションはありませんので、これから説明することは、少なくとも部分的には最終的な目標を理解するための代替方法です。コードを以下に示すが研磨ないか、またはそれは単に文書における配置位置に関係なく、文書に選択したフォルダ内の画像の数の挿入をプリフォームことで完了する。ニーズ/ニーズに合わせてコードを変更する必要があります。しかし、それが受け入れられない場合は、合理的な解決策を提供しようとする面倒なことをするので、私はあなたが行きたい方向ではないことをコメントで知らせてください'回答を削除します。

Automatorを、私が作成したワークフローを使用してFinderの項目を求める設定、:タイプフォルダチェックしていないながら複数選択を許可し、> フォルダの内容を取得します > アップルスクリプトの実行およびフォルダのFinder 2含む.PNGに示すようにimagesという結果をあなたの取得フォルダの内容のアクション (私はPNGファイルを使用しましたが、それはJPGまたはページでサポートされている任意のタイプのグラフィックイメージで動作します)

それから私はあなたのAppleScript コードを修正して、私のコメントで言及されたアイテムrepeatカウンターと共にステートメントを含めます。

その後、2つの画像をPages文書に挿入することができました。これは、このようなシナリオでは明らかにデフォルトであるため、辞書式に行われました。そのため、これは、Dispense Items Incrementally Actionの必要性を否定しているように見えますが、そのアクションはありませんが、2つのワークフローの違いをテストすることはできません。

AppleScript コード

on run {input, parameters}
    set repeatCount to input count
    set n to 1
    tell application "Pages"
        set thisDocument to make new document
        tell thisDocument
            repeat repeatCount times
                set img to item n of input
                make new image with properties {image data:img}
                set n to n + 1
            end repeat
        end tell
    end tell
end run

前述のように、これは選択したフォルダー内の画像の数をドキュメント内の配置場所に関係なくドキュメントに挿入するだけで、ドキュメント内の適切な場所の配置を達成するために必要なコードを決定する必要があります。おそらく、ドキュメントに挿入する各画像の位置も増やす必要があります。

私は個人的にPagesを使用せずにインストールしますが、LibreOfficeを使用しますが、インターネットを少し検索したところ、ドキュメント内の配置場所を扱うサンプルコードを見て、Script Editorアプリを開いてPages Dictionaryを開いて作業内容を判断できるように、公開されている内容を確認してください。


ご回答有難うございます。賛成ですが、まだ十分な担当者がいません。アイテムのディスペンスは、私がここでオンラインで見つけたアクションです(peachpit.com/articles/article.aspx?p=1327771&seqNum=2)。申し訳ありませんが、それを含めませんでした。コードを使用すると、data:img行に次のエラーが表示されます。「式、プロパティ、キーフォームなどが必要ですが、「:」が見つかりました。」私が間違っていることを知っていますか?
フランク

ところで、あなたが言ったとおり正確なワークフローを再構築しました
フランク

@フランク、私があなたに伝えることができるのは、私が投稿したものがOS X 10.8.5とPages '09バージョン4.3(1048)の下で私のために宣伝された通りに機能するということです。そうは言っても、あなたの目の前にあるものと、使用しているOS Xとページのバージョンを確認するまで、何も分析し始めることはできません。また、コードを手動で入力しましたか、またはコピーして貼り付けた場合、Safari、Firefox、またはChromeを使用しているブラウザは何ですか?コードを手動で入力した場合は、ワークフローのスクリーンショットをアップロードし、iへのリンクを提供してください。コードに間違いがないことがわかります。
user3439894
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.