2017-09-27 13 views
0

Photoshopで新しい写真の作業を開始するときに行うさまざまなタスクをすべて自動化するスクリプトを作成しているうちに、次の問題が発生しました。既存のプロパティを消去し、Photoshopのメタデータテンプレート(スクリプト)に置き換えるにはどうすればよいですか?

手動で、私は希望はCtrl +Altキー + Shiftキー + I、私がしたいテンプレートをクリックし、オプションを選択し、 "クリア既存のプロパティを、テンプレートのプロパティで置き換えます"。

私はこれを正確に行う方法を見つけることができません。

app.activeDocument.info.author = "test"; 
app.activeDocument.info.caption = ""; 
app.activeDocument.info.captionWriter = ""; 
app.activeDocument.info.headline = ""; 
app.activeDocument.info.instructions = ""; 
app.activeDocument.info.keywords = ""; 
app.activeDocument.info.authorPosition = ""; 
app.activeDocument.info.credit = ""; 
app.activeDocument.info.source = ""; 
app.activeDocument.info.category = ""; 
app.activeDocument.info.supplementalCategories = ""; 
app.activeDocument.info.title = ""; 
// etc. 

そしてそれは実際には本当にのように機能する「クリア既存のプロパティやテンプレートプロパティと交換」しません:私は見つけることができた最善のことは、このようなものです。

私はPhotoshopスクリプトガイドやインターネット上で何も見つかりませんでした。どんな助けでも大歓迎です!

答えて

0

問題はPhotoshopがファイルメタデータとそのactiveDocumentメタデータを分離することだと思います。 「ファイル情報...」(Ctrl + Alt + Shift + Iを使用)で表示されているファイルは、メタデータが埋め込まれているファイルシステム内のファイルを表すものとします。

Photoshopのスクリプティングに関するいくつかのスクリプトガイドがあります。私はあなたのために関連するものが "Javascript Tools Guide"、特に10章 "Scripting Access to XMP Metadata"と思う。

新しい画像を作成するときに既にメタデータを設定することは重要ですか?そうでない場合は、a customized export scriptを使用して解決策を検討してください。

それは

のようにエクスポートする時にXMPメタデータは、基本的なメタデータオブジェクトを作成してカスタマイズ:

var meta = new XMPMeta(); 

は、名前空間URI(XMPspecsを参照)、タグ名と一緒にフォトショップすることが知られており、価値を提供:

meta.setProperty(XMPConst.NS_XMP, "CreatorTool", app.version); 

保存一時的に(他のスクリプトを使用して)画像:

var imgFile = new File(fileName); 
saveImage(fileName); 

フィニッシュメタデータ・オブジェクトを追加することにより、省エネ:

var metaFile = new XMPFile(imgFile.fsName, XMPConst.FILE_UNKNOWN, XMPConst.OPEN_FOR_UPDATE); 
if (metaFile.canPutXMP(meta)) { metaFile.putXMP(meta); } 
metaFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY); 

それをやってこの方法はまた、任意の既存またはデフォルトのメタデータを消去します。

関連する問題