デジカメ等で撮影した画像ファイルには、EXIFデータが付加されている場合があります。このEXIFデータだけを抽出して、テキストファイルとして保存するスクリプトです。
EXIFデータは配列形式で格納されていますので、配列の数だけ繰り返してEXIFタグと値を読み出して書き出せばできあがりです。
ちなみに、開かれているドキュメントのEXIFデータは「ファイル」メニューの「ファイル情報...」で参照することができます。スクリプトだと以下のようにして一括で参照できます。
EXIFデータは配列形式で格納されていますので、配列の数だけ繰り返してEXIFタグと値を読み出して書き出せばできあがりです。
ちなみに、開かれているドキュメントのEXIFデータは「ファイル」メニューの「ファイル情報...」で参照することができます。スクリプトだと以下のようにして一括で参照できます。
exif = app.activeDocument.info.exif;
alert(exif);
alert(exif[0]);
実際にEXIFデータを読み込んで別ファイルに保存するスクリプトは、以下のものになります。実行すると画像データがあるフォルダを選択します。次に、保存先と保存ファイル名を入力します。あとは自動的にドキュメント名とEXIFデータがテキストファイルに保存されます。
folderName = Folder.selectDialog("フォルダを選択してください");
if (folderName)
{
savefilename = File.saveDialog("保存ファイル名を入れて下さい");
if (savefilename)
{
savefileObj = new File(savefilename);
flag = savefileObj.open("w");
if (flag == true)
{
fileList = folderName.getFiles();
for (i=0; i< fileList.length; i++)
{
try {
docRef = open(fileList[i]);
exifData = docRef.info.exif;
savefileObj.writeln(docRef.name);
for (j=0; j< exifData.length; j++)
{
savefileObj.writeln(exifData[j]);
}
savefileObj.writeln("-----");
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}catch(e){ }
}
savefileObj.close();
}else{
alert("ファイルが開けませんでした");
}
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
この連載の2004〜2006年分の原稿とサンプルをまとめたページを用意しました。サンプルはダウンロードすることができるようになっています。文章では分かりにくかった部分も実際の画像データやファイルもあります。自動化の手助けになれば幸いかなと思います。
< http://www.openspc2.org/projectX/index.html
>
alert(exif);
alert(exif[0]);
実際にEXIFデータを読み込んで別ファイルに保存するスクリプトは、以下のものになります。実行すると画像データがあるフォルダを選択します。次に、保存先と保存ファイル名を入力します。あとは自動的にドキュメント名とEXIFデータがテキストファイルに保存されます。
folderName = Folder.selectDialog("フォルダを選択してください");
if (folderName)
{
savefilename = File.saveDialog("保存ファイル名を入れて下さい");
if (savefilename)
{
savefileObj = new File(savefilename);
flag = savefileObj.open("w");
if (flag == true)
{
fileList = folderName.getFiles();
for (i=0; i< fileList.length; i++)
{
try {
docRef = open(fileList[i]);
exifData = docRef.info.exif;
savefileObj.writeln(docRef.name);
for (j=0; j< exifData.length; j++)
{
savefileObj.writeln(exifData[j]);
}
savefileObj.writeln("-----");
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}catch(e){ }
}
savefileObj.close();
}else{
alert("ファイルが開けませんでした");
}
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
この連載の2004〜2006年分の原稿とサンプルをまとめたページを用意しました。サンプルはダウンロードすることができるようになっています。文章では分かりにくかった部分も実際の画像データやファイルもあります。自動化の手助けになれば幸いかなと思います。
< http://www.openspc2.org/projectX/index.html
>