Javaを使用してWord文書のカスタムプロパティの値を更新できません。
値が「stack」のカスタムプロパティを含む単語ドキュメントがあります。javaを使用して、その値を「オーバーフロー」に変更したいと思います。私は2つのアプローチを使用しました。
1)ApachePOIを使用する
org.apache.poi.hpsf.CustomPropertiesをorg.apache.poi.hpsf.DocumentSummaryInformationに設定し、POIFSFileSystemに書き込みました。
これは、wordのcustompropertiesテーブルの値を更新します。ただし、ドキュメント内のそれぞれのプロパティの値は更新されません。ドキュメントを開いた後、その値を更新するためにドキュメントを手動で更新する必要があります。
2)ドキュメントの文字を文字ごとに解析し、フィールドコードDC3、DC4、およびNAKを使用して、カスタムプロパティの場所を特定します。既存の値を新しい値に置き換えます。
これで、生成されたドキュメントに新しい値が含まれます。ただし、ここでの問題は、古い値と新しい値の長さが異なる場合、ドキュメントが破損することです。ロジックが十分に優れていることを確認しました。
どんな助けでもいただければ幸いです。