3

Apple Scriptfor Sketch.app を書こうとしてい(com.bohemiancoding.sketch3)ます。私がやりたいことは、Sketch ドキュメントからブラウザーでレンダリングできる画像ファイルを作成することです。

そして、Sketch.app辞書を開くとScript Editior

saveable file format enum
    Sketch : The native Sketch 2 file format
    PDF : Portable Document Format
    TIFF : Tagged Image File Format

そこで以下のスクリプトで生成しようと思ったのですTIFFがうまくいきませんでした

tell application "Sketch"
  set curdoc to document 0    
  save curdoc in "/Users/mirza/Downloads/mew2" as TIFF
end tell

.sketch保存コマンドを使用して形式でスケッチ コピーを作成できますが、PDF や TIFF は作成できません。スケッチは Apple スクリプトを使用した PDF と TIFF をサポートしていますか?

または、そのための他の方法がありますか。

アップデート

パスを Apple スクリプト形式に変更し、ドキュメント インデックスを 1 に設定します。スクリプトは次のようになります。

set thisFilePath to (POSIX file "/Users/mirza/Downloads/mew2")
log thisFilePath
tell application "Sketch"
    curdoc to document 1
    save curdoc in thisFilePath as TIFF -- Tried with quotes as well, gives same error
end tell

しかし、スクリプトを実行すると、次のエラーが発生しました

Result:
error "Sketch got an error: Can’t continue curdoc." number -1708

更新 2

タイプミスを修正

set thisFilePath to (POSIX file "/Users/mirza/Downloads/mew2")
log thisFilePath
tell application "Sketch"
    set curdoc to document 1
    log (path of curdoc)
    save curdoc in thisFilePath as "TIFF"
end tell

しかし、スクリプトを実行すると、次のエラーが発生しました

Result:
error "Sketch got an error: The document cannot be exported to the \"TIFF\" format." number -50
4

1 に答える 1

1

コードには多くの問題がありますが、まず、利用できなくなったソフトウェアを使用して決定的な答えを得るのが難しいことに気付くでしょう。Sketch はしばらくの間バージョン 3 のままで、AppleScript 辞書はおそらく変更されています。そうは言っても、ここにあなたのコードに関するいくつかの考えがあります:

それが Sketch 2 AS ディクショナリの読み取り内容である場合、AS 機能は v3 で変更されています。手伝いたいのですが、v2がどこにも見つからないので、暗闇の中でしかできません。

set thisFilePath to choose file name--use this to select a new file;
------- a Mac AppleScript path is returned (a file specification,
------- actually, which is different from a string or alias
------- (but an alias is kind of like a file spec)
tell application "Sketch"
    set curdoc to document 1--not zero-based; 1 is frontmost doc
    save curdoc in thisFilePath as "TIFF"--*this is a guess
end tell

saveそのため、最後の行が何をするかはわかりませんが、うまくいくかもしれません。Sketch 3 では、「TIFF」形式は保存で許可されていませんがas、保存の一部としてパラメーターがあり、形式を表すテキスト文字列 (上記の「TIFF」など) とペアになっているはずです。スケッチ 2 は異なるスキームを持っているようです ( のパラメーターasは文字列ではありません)。Sketch 3 でパラメーターを指定せずに保存するasと、Sketch のネイティブ形式で保存されます。したがって、引用符なしでこれを試すことができます(あなたが持っているように)。私は、v3 ディクショナリが指示していることを実行しているだけです。いくつかの解決策とヒントを次に示します。

  1. document 1最前面のドキュメントを参照するように機能する必要があります。

  2. 何らかの理由で POSIX を使用してパスを書き出す必要がある場合 (これまでに行ったように)、次を使用できます。

    POSIX ファイル "/Users/mirza/Downloads/mew2"

次の形式の AppleScript の Mac スタイルのパスを返します。

"yourHardDriveName:Users:mirza:Downloads:new2"

ここにあるものを「yourHardDriveHame:」として取得することもできます。

tell application "Finder" to set sDr to startup disk as string

次に、実行して連結します

sDr & "Users:mirza:Downloads:new2"

あなたもできる

tell application "Finder" to set myHome to home as string

ホームフォルダーへの Mac スタイルのパスを返す必要があります。(もちろん、Finder で取得できるパスは他にもあります)。

遊べるものがあります。

于 2015-09-16T08:54:07.717 に答える