2013-08-01 2 views
2

Я ищу для изменения определенных тегов (например, комментариев, ключевых слов и т. Д.) Файла .DOC. Я смог сделать это для DOCX, используя docx4j, но я не смог найти ничего, что позволило бы мне изменить теги для формата .DOC.Как изменить метаданные документа doc

Есть ли способ программно изменить содержимое определенных тегов в файле .DOC?

ответ

2

Apache POI вполне счастливо позволит вам читать и редактировать метаданные поддерживаемых документов. Для более старых форматов OLE2 (.doc, .xls и т. Д.) Вы хотите использовать HPSF, вероятно, через POIDocument. Для форматов OOXML (.docx, .xlsx и т.д.) используют POIXMLDocument и POIXMLProperties

Чтобы изменить свойства OLE2, вы можете следить за detailed instructions and code in the HPSF documentation, или на более новой версии 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(); 
+1

Какая версия poi 'HPSFPropertiesOnlyDocument' в? Я использую 3.10beta1 от maven, но я не нахожу его там. – Anthony

+1

Попробуйте последнюю ночную сборку или подождите еще пару дней за 3.10 beta 2 (Тим работает над кандидатом на выпуск на данный момент!) – Gagravarr

Смежные вопросы