- ベストアンサー
Adobe系ソフトでJavaScript
PhotoShopで作業してますが、各デザインでの項数が非常に多いため、JavaScriptで極力自動化を行いたいと思い、JavaScriptで簡略化したいと思っています。 あまり詳しくないので、サンプル等頂けませんか。 具体的には以下の通りです。 1:必要なレイヤーを選択する まず全てのレイヤーを非アクティブにし、レイヤー名でアクティブにするのを指定したいです。 2:テキスト部分を変更 テキストフィールドに入力されている内容を、特定の文字列で置き換えたいです。(引数より指定) 3:現行のまま保存する 1で選択した現状のアクティブになっているレイヤーを名前を付けて、PDFで出力・保存したいです。 ちなみにAdobeは5.5です。 ご教授頂ければと思います。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
main() function main(){ while(app.documents.length){ exportTxtImage(app.activeDocument) } alert("完了") } function exportTxtImage(doc){ var tgtName="目的のレイヤー名" var lyrs=doc.layers var tgtLyr=lyrs.getByName(tgtName) for(var i=0;i<lyrs.length;i++){ lyrs[i].visible=false } with(tgtLyr){ visible=true textItem.contents=prompt('置き換えるテキストを入力',"テキスト") } var opt=new PDFSaveOptions() doc.saveAs(doc.fullName.replace(doc.name,tgtName),opt) doc.close(SaveOptions.DONOTSAVECHANGES) } 保存名をターゲットのレイヤーの名前にすんの忘れてたわ
その他の回答 (1)
- H240S18B73
- ベストアンサー率65% (190/288)
main() function main(){ while(app.documents.length){ exportTxtImage(app.activeDocument) } alert("完了") } function exportTxtImage(doc){ var lyrs=doc.layers var tgtLyr=lyrs.getByName("目的のレイヤー名") for(var i=0;i<lyrs.length;i++){ lyrs[i].visible=false } with(tgtLyr){ visible=true textItem.contents=prompt('置き換えるテキストを入力',"テキスト") } var opt=new PDFSaveOptions() doc.saveAs(doc.fullName,opt,true) doc.close(SaveOptions.DONOTSAVECHANGES) } 開いてる全ドキュメントを一つづつ処理 置き換えるテキストは一つ一つプロンプト入力 例によって動作テストしてません いまこの場で書いてます 要件にないのでPDFのプリセット指定とか入れてないです
お礼
返事遅くなりました。 大変参考になりました。 的確なサンプルありがとうございます。