3

JPEGファイルのコレクションを持つユーザーがいて、Windows7NTFSファイルシステムを使用しています。

ユーザーは、Windows7の[詳細]ダイアログを使用してこれらの画像に注釈を付けました。ファイルごとに、タイトル、コメント(タイトルとは異なる場合があります)、およびタグフィールドが追加されています。

タイトルは、EXIFデータの一部として各JPEGファイル内に保存されているようです。

ただし、コメントフィールドとタグフィールドはそうではありません。

私は代替データストリームでそれらを探しました。存在しません。それらを具体的にリストするツールが見つからないため、それらがNTFS拡張属性であるかどうかを確認できません。

私の質問は、このメタデータはどこに保存され、Ruby内からどのようにアクセスできるかということです。

4

2 に答える 2

2

Vista の時点では、別のデータ ストリームに格納されたデータとは対照的に、移植性のためにプロパティがファイル自体に格納されるプロパティ システム ( 1および2 ) があるようです。この質問の Alex Martelli の回答を参照してください。これは、Python に関する同様のものです。私がその答えを理解したら、 Windows Search APIにフックしてSystem.KeywordsプロパティとSystem.Commentプロパティを照会する方法を見つけたいと思うでしょう。

この場合、PowerShell が適している可能性があります。たとえば、このリンクの「Windows デスクトップ サーチ コマンドレット」セクションに例があります。ただし、Ruby から COM オブジェクトまたは WMI と通信できる場合があります。

于 2012-12-08T06:23:15.860 に答える
1

エリックの答えは近いです(エリックに感謝します)。

その答えは、Windows がファイルに埋め込まれた XMP を使用して、この情報の一部を保存することです。その他の一部は EXIF に保存されます。

XMP は、アドビが最初に開発した RDF 形式です。

ただし、Ruby での XMP の抽出と操作のサポートは貧弱です。github にはいくつかのライブラリがありますが、うまく統合されたものはありません。

  • xmpleton はすべてのメタデータを表示するわけではありません。
  • Microsoft のメタデータで xmp がクラッシュします。
  • fasttrack は ruby​​gem.org インフラストラクチャ全体に統合されていません。

私が興味を持っている3つの分野のうち:

  • 「コメント」はEXIFフィールド「XPComment」に格納される。
  • 「タイトル」は、フィールド「XPTitle」の下の EXIF と、フィールド「説明」の DC 名前空間の下の XMP に保存されます。
  • 「タグ」は、「XPKeyword」フィールドの下の EXIF と、「サブジェクト」フィールドのリストとして DC 名前空間の XMP に保存されます。

私が使用しているアプローチは、Perl ベースの EXIFTool プログラムをラップするmini_exiftoolです

于 2012-12-08T07:39:05.630 に答える