3

sanselan を使用して、Windows にインポートされた iPhone の写真が編集不能になる根本的な原因は、実際の XML の後にコンテンツ (空白?) があることであることがわかりました (詳細と、不適切な XMP XML のリンクされた例については、httpsを参照してください)。 ://apple.stackexchange.com/questions/45326/why-can-i-not-edit-some-photos-imported-from-an-iphone-to-windows-vista )。

写真アーカイブをスキャンして、XMP XML を「トリミング」したいと考えています。

これを行う簡単な方法はありますか?

写真のアーカイブを再帰的にナビゲートして問題を検出できるJavaコードがいくつかあります。ただし、XML をトリミングして書き戻す方法がわかりません。

4

2 に答える 2

1

何らかの手段で既存の XML を取得します。

Apache Sanselan ライブラリを使用している場合、次のように動作します。

String xmpXml = Sanselan.getXmpXml(new File('/path/to/jpeg'));

それからトリミング...

xmpXml = xmpXml.trim();

次に、 Xmp XML を既存の jpeg にシリアル化するソリューションを使用して、ファイルに書き戻します。

于 2012-04-24T03:33:59.127 に答える
-1

次の手順を試してください。

  1. すべての写真を 1 つのフォルダー (xmlToConvertデスクトップ上のフォルダーなど) に集めます。
  2. Terminal.app ウィンドウを開く
  3. ファイルを置いたディレクトリにcdします(例cd ~/Desktop/xmlToConvert:)
  4. コマンドラインプロンプトから次のコマンドを実行します

    mkdir converted ; for f in *.xml ; do cat $f | head -n $(wc -l $f) > converted/$f ; done

サブディレクトリにはconverted/、末尾に空白がないすべてのファイルが含まれているはずです。

(つまり、デスクトップ上に作成したフォルダで呼び出さconvertedれます)xmlToConvert

h番目

于 2012-04-18T21:16:14.390 に答える