Я не могу обновить значение пользовательского свойства в текстовом документе с помощью java.
У меня есть текстовый документ, который содержит пользовательское свойство со значением «стек». Используя java, я хочу изменить это значение на «переполнение». Я использовал два подхода.
1) Использование Apache POI
Я установил org.apache.poi.hpsf.CustomProperties в org.apache.poi.hpsf.DocumentSummaryInformation и записал его в POIFSFileSystem.
Он обновляет значение в таблице customproperties слова. Но не обновляет значение для этого соответствующего свойства в документе. После открытия документа мне нужно вручную обновить документ, чтобы обновить это значение.
2) Разберите документ по символам и используйте коды полей DC3, DC4 и NAK, чтобы определить расположение пользовательских свойств. Замените существующее значение новым значением.
Теперь сгенерированный документ содержит новые значения. Но проблема здесь в том, что если длина старого значения и нового значения различаются, документ будет поврежден. Я убедился, что логика достаточно хороша.
Любая помощь будет оценена по достоинству.