問題タブ [extendscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2354 参照

javascript - テキストの幾何学的境界を取得する

テキストフレーム内にハイパーリンクが含まれているInDesignドキュメントがあります。

ハイパーリンクに含まれるテキストの幾何学的境界を決定する方法が必要です。残念ながら、ExtendScriptでこれを行う方法を見つけることができないようです。

これをどのように行うことができるかについてのアイデアはありますか?

ちなみに私はAdobeInDesignCS5を使用しています...

0 投票する
2 に答える
1896 参照

debugging - Extendscript Toolkit がブレークポイントで停止しないのはなぜですか?

Extendscript Toolkit を使用して Illustrator CS5 のスクリプトを作成しています。

コードにいくつかのブレークポイントを設定すると、行番号の横に赤い点として表示されます。しかし、スクリプトを実行すると、停止することなく最後まで実行され、ブレークポイントのドットが暗くなります。

ここで何が欠けていますか?

ありがとう!

0 投票する
2 に答える
8642 参照

javascript - バッチ スクリプトの自動化 - Photoshop でファイル名をテキストに変換する

Photoshop で一連のファイルの各ファイル名をテキスト レイヤーに変換 (および保存) するにはどうすればよいですか?

フォルダ 1: 数百のファイル

フォルダ 2: ほぼ同じファイルですが、それぞれのファイル名が画像に貼り付けられています

ここにハッキングされたスニペットがあります。うまくいかないように見えるエラーは、activeDocument を現在開いているものに設定する方法です。http://pastebin.com/b0fqG9v4

0 投票する
2 に答える
5921 参照

adobe - Adobe InDesign .jsx スクリプト .jsx スクリプトを実行

.jsx スクリプトが終了したら、別の .jsx スクリプトを実行するにはどうすればよいですか?

たぶん、これは私がやろうとしていることを理解するのに役立ちます:

0 投票する
1 に答える
12172 参照

javascript - ファイルを開くダイアログのデフォルト パスを変更する方法

InDesign CS3 内でいくつかの基本的な面付けを実行できるようにするスクリプトを作成しています。私のタスクの 1 つは、ユーザーが配置するファイルを選択できるようにするダイアログを開くことです。私は現在これを行っています:

問題は、ショートカットを介してネットワーク ドライブに移動するときに発生するようです。何らかの理由で、ダイアログはそれをファイルと見なし、フォルダーの場所に移動するのではなく、ダイアログからそのパスを返します。これはダイアログの単なるバグだと思います。最初に考えたのは、返されたファイルの拡張子が正しいかどうかを確認し、そうでない場合は、返されたパスの場所を開いてダイアログを再度表示することでした。ただし、デフォルトで開く場所を変更する方法が見つからないようです。、、およびopenDlg()のパラメータのみがあります。私はJavascriptに詳しくないので、これが一般的な解決策なのか、InDesign特有のものなのかわかりません。String promptvar filterboolean multiselect

編集:誰かが興味を持っている場合は、問題を回避するために使用した最終的なコードを次に示します。

基本的にはショートカット(別名)かどうかをチェックし、そうであれば対象を解決してダイアログを再表示します。ちょっとハックな方法ですが、うまくいきます。ダイアログがキャンセルされたかのように、null 処理を追加することもできますが、null が返されます。

0 投票する
3 に答える
7561 参照

adobe-illustrator - 選択した Illustrator PathItem の位置をピクセル単位で取得するにはどうすればよいですか?

私は単純な問題を抱えていますが、それを回避する方法を見つけることができないようです: PathItem があり、Illustrator はそれが位置 (781px,250px) にあることを指摘しています。

これらの値を jsx で取得するにはどうすればよいですか?

PathItem が PageItemからposition プロパティを継承し、 positionがPointであることに気付きましたが、値を出力しようとするとundefinedになります:

上記の行から .x を省略すると、コンソールに次のように出力されます。

これらの値は何ですか? それらはx、y座標ですか?何単位で?どうすればピクセルに変換できますか?

x,y/top,left プロパティにアクセスできないのはなぜですか?

イラストレーターCS5を使用しています。

0 投票する
1 に答える
2110 参照

adobe-indesign - 選択したテキストから脚注を生成する

ExtendScript を使用して InDesign のスクリプトを作成しようとしています。選択したテキストを切り取って脚注を挿入し、そのテキストを脚注の本文に貼り付けるスクリプトが必要です。私が試したこと:

0 投票する
2 に答える
597 参照

javascript - javascriptがFile.write()を使用して自分自身を上書きしても安全ですか?

これは Adob​​e ExtendScript の JavaScript です。基本的に、AppleScript でできるように、ユーザーの設定を保存するためにスクリプトに永続変数が必要ですproperty。私が考えることができる唯一の方法は、スクリプトが自分自身を で上書きすることFile.write()でした。

私が知る限り、これはうまくいきました。しかし、それは安全ですか?私の直感では、永続的な変数を保持するためのよりクリーンな方法があるはずですが、存在しない場合は、自己上書きスクリプトに潜在的な問題があるかどうかを知りたいだけです。

0 投票する
2 に答える
1236 参照

adobe - Adobe InDesign CS5 スクリプティング - オブジェクトはプロパティまたはメソッド「解決」をサポートしていません

OK CS5 にアップグレードしましたが、これはサポートされていません。

これは CS4 で機能したため、CS5 で解像度を指定する方法を質問します。

0 投票する
0 に答える
702 参照

http - HTTP 応答を処理して画像コンテンツを取得する方法

JSX/ExtendScript を使用して、PNG 画像を提供する Web サービスを Photoshop に統合しようとしています。これを実現するために、Socket(TCP) を作成し、ユーザーが構成可能なパラメーターを GET 要求に書き込みます。次に、サーバーは HTTP 応答を返します。これを 1 行ずつ読み取ることができ、正しいヘッダー情報 (たとえば、Content-Type: image/png) があることを確認できます。しかし、Photoshop に貼り付けることができるある種の画像データを取得するために、HTTP 応答を処理する方法について途方に暮れていArtLayerます。今のところ、ASCIIとして処理すると、9行目か10行目に「██PNG███」があるだけで、そこからデータが始まると思われます。

誰でもこれを達成する方法を知っていますか? そのような処理を処理できる既存の JavaScript ライブラリはおそらくありますか? 私が知る限り、Photoshop および ExtendScript ライブラリは、この点でかなり制限されています。

アップデート

私はまだこれを理解していません。しかし、代わりに AIR で Creative Suite 拡張機能を作成することになりました (Flash Builder + Creative Suite SDKを使用)。これはスクリプトが思っていたよりもはるかにシンプルで、Photoshop (および Illustrator と In-Design ...) に統合されます。とにかく持っています。Flex にはすでに URL リソース ローダーがあり、特に AIR を使用して、コンテンツをクリップボードにプッシュし、レイヤーにコピー/ドラッグできるようにしました。

可能だと思うので、これがJSXスクリプトでどのように行われたかを知りたいです。