問題タブ [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 投票する
2 に答える
1764 参照

extendscript - HTMLファイルまたはjsスクリプトからjsxスクリプトを実行する

通常、Adobe 製品 (InDesign、Illustrator、Photoshop など) を自動化する .jsx スクリプトを作成する場合、ExtendScript IDE からスクリプトを作成、デバッグ、実行します。ExtendScript をバイパスして、第 3 のプログラムからスクリプトを実行することは可能ですか?

After Effects の一部の作業を自動化するスクリプトを作成しました。私は ExtendScript IDE からスクリプトを実行していましたが、ユーザーに html フォームから入力引数を与えてから、送信ボタンをクリックしたときに、ユーザー入力を jsx スクリプトに渡し、スクリプトを自動的に実行したいと考えています。

なので基本的にはhtmlファイルに書かれたHTMLやJavaScriptコードからjsxコードを呼び出したい

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

javascript - InDesign CS5 / Extendscript-exportFileのパラメーターと、それに関連するプロパティは何ですか?

Extendscript for InDesignに関するドキュメントはオンラインで非常に貧弱であり、それ以外の場合、exportFileメソッドに関する詳細で有用な情報を見つけることができません...これが私が見つけることができるすべてであり、かなり文字化けしています:http:    //jongware.mit.edu/ idcs5/pe_ExportFormat.html


私が使用しているのを見た一般的なそのようなステートメントは次のようexportFileになります

       imgs[i].exportFile(ExportFormat.JPG, img, false)

このステートメントは、のJPGプロパティを使用しExportFormat、ファイルオブジェクトimgを渡し、パラメータを渡しますfalse

ファイルオブジェクトは次のようにインスタンス化する必要があることを私は知っています

       var img = new File(folder + "/" + fileName)

...しかし、WTFはfalse

また、ExportFormatオブジェクトのさまざまなファイルタイプのプロパティがさまざまな方法でインスタンス化されているように見えます...たとえば、PDFのExportFormatがとしてインスタンス化されるのを見ましたExportFormat.pdfType。このバリエーションは私を失望させます、そして他のファイルタイプも同様にユニークなプロパティ名を持っているようです。


では、メソッドのパラメーターは正確にはexportFile何であり、これらのパラメーターのすべてのプロパティは何ですか?

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

adobe - InDesign CS5 / スクリプト: TIFF および PNG 画像を「白黒」に変換できますか?

すべての画像タイプのドキュメントをスキャンし、それらをすべて白黒に変換してから、白黒画像を新しいフォルダーにエクスポートするスクリプトがあります。


InDesign はこれらの画像ファイル形式をエクスポートするようです:   JPEG, TIFF, and PNG( GIF ファイルはエクスポート しません)。

ただし、InDesign にはTIFF および PNG ファイルのColorSpace.GRAYまたはプロパティがないようです (ただし、JPEG ファイルにはこのプロパティがあります)。 ColorSpaceEnum.GRAY


  • では、InDesign の Extendscript で TIFF および PNG ファイルを白黒に変換する方法はありますか?

  • 存在しない場合これらのファイル タイプに白黒変換を提供しない理由は何ですか?



これが私のコードです。現在、白黒のJPEGファイルのみをエクスポートしています。

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

ajax - InDesign CS5 スクリプト: BridgeTalk を使用して Photoshop から新しい画像を保存するにはどうすればよいですか?

このスクリプトは次のことを試みています:

  • 新しいフォルダを作成する
  • すべての画像の InDesign ドキュメントをスキャンする
  • Photoshop ですべての画像をグレースケールに変換する
  • Photoshop から新しいフォルダーに新しいグレースケール画像を保存する

Photoshop で画像をグレースケールに変換するには、BridgeTalkオブジェクトを使用する必要があります。これにより、InDesign と Photoshop の間の通信が可能になります (BridgeTalkオブジェクトの使用は Ajax の形式のようです)。

これまでのところ、新しいフォルダーが作成され、InDesign が を介して Photoshop と通信しているように見えるので、ほとんどBridgeTalk機能しています。しかし、Photoshop を開いても何も起こりません。新しい画像は保存されません。また、グレースケール変換が行われているかどうかもわかりません。

コードは次のとおりです。


これは、http: //forums.adobe.com/message/3817782 にある Kasyan Servetsky の作業に基づいています。  

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

error-handling - InDesign CS5スクリプト: `#targetengine`が正しく機能しないのはなぜですか?

この宣言#targetengine "myEngineName"は、InDesignがグローバル変数を記憶するために使用されることを理解しています(これに関する情報は  http://incom.org/post/89818にあります)。


ただし、グローバル変数に関するエラーがスローされるため、これでもグローバル変数を記憶するには不十分でしたimgs

エラー番号:30476
エラー文字列: "if(imgs [i] .itemLink!= null)"は、オブジェクトが存在しなくなったため、完了できませんでした。

...またはとにかくそのようなもの。私のコードのその特定の行が気に入らず、グローバル変数imgsがどのようにインスタンス化されたかを忘れているようです。


そこで、try-catchステートメントを実装し、変数を元に戻し、imgscatchのイテレーターをデクリメントしました...これで問題#targetengine "myEngineName"解決しましたが、想定どおりに問題が解決 しないのはなぜですか?

これが私のコードです:


これは私がこのエラーに関して見つけることができた唯一の情報です:http:   //forums.adobe.com/thread/748419

編集- このエラーはそうではなかったので

、問題は関数に関係していると確信していますreplaceWithNewImageこの関数なしで発生し、try-catchステートメントは必要ありませんでした...

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

image-processing - Photoshop / InDesign CS5 Script: 画像サイズ変換エラーがメモリを使いすぎていますか?

次のことを試みているスクリプトがあります。

  • すべての画像の InDesign ドキュメントをスキャンする
  • BridgeTalk  オブジェクトを介してすべての画像を Photoshop に送信する  
  • すべての画像のサイズを 600px 幅に変更します (アスペクト比を数学的に維持します)。
  • Photoshop からすべての画像を新しいフォルダーにエクスポートする

1 つの画像のサイズが変更される前に Photoshop がクラッシュするため、各画像の DPI をプログラムで調整する必要があるようです。このエラーは、一時メモリがこのスクリプトによって過負荷になっていることを示唆しており、画質やサイズに関係があると思います...エラーメッセージは次のとおりです。

一般的な Photoshop エラーが発生しました。この機能は、このバージョンの Photoshop では使用できない場合があります。
行 1 のエラー:
スクラッチ ディスクがいっぱいであるため、コマンドを完了できませんでした。




画像サイズを変換する関連コードは次のとおりです。


 -エラーがまだ発生しているため、ステートメントの使用法は  app.purge(PurgeTarget.ALLCACHES)  あまり効果がないようです...

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

adobe-illustrator - Adobe Illustrator - アートボード コマンドに合わせようとするとスクリプトがクラッシュする

このコマンドを呼び出すと、AI 5.1/6 32 ビットおよび 64 ビット バージョンで AI がクラッシュします。メニューからコマンドを使用できます。誰かがこれに遭遇しましたか?誰かが回避策を知っていますか?

完全なコード。

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

directory - InDesign CS5スクリプト:ディレクトリをどのように表示できますか?



次のようなスクリプトがあります。

  • 新しいフォルダを作成します
  • InDesignドキュメントをスキャンして画像を探します
  • 画像をフォーマットして新しいフォルダにコピーします


スクリプトがこれらすべての処理を完了したら、新しいフォルダーディレクトリ(Windowsの場合)にフォーカスを合わせるようにします。

今のところ、アラートウィンドウにフォルダパスを表示していますが、ユーザーが新しいファイルを表示できるように、ディレクトリを開きます(まだ開いていない場合)。


私はこれらの1つを呼び出すことができればいいのにと思います:

  • myNewFolder.bringToFront() :プログラムフォーカスでのみ機能します。つまり、-                                                             BridgeTalk.bringToFront("photoshop")
  • myNewFolder.open() :ファイルI/O操作にのみ適用されるようです
  • myNewFolder.show()Window  :オブジェクト にのみ適用されるようです  

...しかし、これらはどれも機能しません。



編集:   new ActiveXObject("Scripting.FileSystemObject")  どちらも機能しません...

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

error-handling - 非表示のInDesignドキュメントを閉じる方法は?

InDesignのスクリプトを作成しているときに、すべてのアクションを実行するまで非表示になっている新しいドキュメントを作成してから、myDocument.windows.add()を使用する場合がたくさんあります。表示するために。ただし、その最後のステップの前にエラーが発生する場合もたくさんあるため、ドキュメントは具体化されません。私がそれらを閉じることができた唯一の方法は、InDesignを完全に閉じることです。これはうまくいきますが、もっと良い方法が必要だと思います。

IDEまたはスクリプトのいずれかで、開いているプロセスを確認したり、すべての非表示のプロセスを閉じたりする方法はありますか?

乾杯、ブレンダン

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

error-handling - InDesign CS5 スクリプト: ドキュメントを開くと応答しなくなり、エラーは発生しませんか?



このメソッド  myFile.execute()  を使用して、InDesign ドキュメントをプログラムで開いています (この場合、スタイルが適用された空のドキュメントです)。


ドキュメントが開かれることもあれば、開かれないこともあります...スクリプトが完了する前にファイルを開く時間がないようです。


これは、テスト時に  探しているファイル名が表示され、適用時にスクリプトがalert(template.name)  エラースロー  しないFile(template).execute()ために発生しました  (変数  template  自体は既に  File  オブジェクトですが、単に  template.execute()  動作していません)。


関連するコードは次のとおりです。


では、スクリプトがドキュメントをロードするのに十分な時間がないのではないでしょうか? もしそうなら、この関数が呼び出される前にタイマーを作成する必要がありますか? または、InDesign ドキュメントをプログラムで開くためのより良い方法はありますか?