.DOC ファイルの特定のタグ (コメント、キーワードなど) を変更しようとしています。docx4j を使用して DOCX でこれを行うことができましたが、.DOC 形式のタグを変更できるものを見つけることができませんでした。
.DOC ファイル内の特定のタグの内容をプログラムで変更する方法はありますか?
.DOC ファイルの特定のタグ (コメント、キーワードなど) を変更しようとしています。docx4j を使用して DOCX でこれを行うことができましたが、.DOC 形式のタグを変更できるものを見つけることができませんでした。
.DOC ファイル内の特定のタグの内容をプログラムで変更する方法はありますか?
Apache POI を使用すると、サポートされているドキュメントのメタデータを読み取って編集できます。古い OLE2 形式 (.doc、.xls など) の場合は、おそらく POIDocument 経由で HPSF を使用する必要があります。OOXML 形式 (.docx、.xlsx など) の場合は、POIXMLDocumentおよびPOIXMLPropertiesを使用します。
OLE2 プロパティを変更するには、HPSF ドキュメントの詳細な手順とコードに従うか、新しいバージョンの POI でHPSFPropertiesOnlyDocumentを使用してかなりの部分をショートカットできます。
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File("test.doc"));
HPSFPropertiesOnlyDocument doc = new HPSFPropertiesOnlyDocument(fs);
SummaryInformation si = doc.getSummaryInformation();
if (si == null) doc.createInformationProperties();
si.setAuthor("StackOverflow");
si.setTitle("Properties Demo!");
FileOutputStream out = new FileOutputStream("changed.doc");
doc.write(out);
out.close();