Я новичок в Docx4j, и моя задача - заменить некоторый текст шаблона docx. Я прочитал руководство по началу работы с docx4j, но не думаю, что полностью понял всю концепцию. Ну, в любом случае... Я уже пробовал [разборный шаблон Docx4j][1], который отлично работал с данным docx, но затем у меня возникла та же проблема, когда я попробовал его самостоятельно template Исключения говорят, что HashMap не содержит действительных ключей или значений , и поэтому он не заменяет заполнители.
я заменил
<w:proofErr w:type="spellEnd"/>
отключив проверку орфографии, но это все равно не сработало... Да и запуск приложения занимает довольно много времени.
Я не понял пример с привязкой данных в файле Getting_Started.pdf, поэтому у меня заканчиваются варианты...
Как я могу просто заменить некоторые строковые тексты из docx?
РЕДАКТИРОВАТЬ: я обнаружил, что если я добавлю некоторый текст в unmarshallFromTemplate.docx и сохраню его, он не заменит новые строки текста. - Теги каким-то образом разделены на несколько тегов:
<w:p w:rsidR="002512F8" w:rsidRDefault="002512F8" w:rsidP="002512F8"><w:r><w:t>My</w:t></w:r><w:r w:rsidR="001A5174"><w:t xml:space="preserve"> favourite ice cream is ${DEGREE</w:t></w:r><w:r><w:t>}.</w:t></w:r><w:bookmarkStart w:id="0" w:name="_GoBack"/><w:bookmarkEnd w:id="0"/></w:p>
редактирование текста в document.xml и добавление отсутствующей информации не очень помогло.
в любом случае, вот document.xml Template.docx, который я использую: http://uploaded.net/file/vz4qr23o
РЕДАКТИРОВАТЬ 2:
Ну, ребята. Нашел для себя вполне подходящий обходной путь и не знаю, почему так долго разбирался. Как я уже говорил: пробеги разделились, и, на мой взгляд, причиной этого были ${}. Поэтому я просто поставил # перед моими заполнителями и переписал каждый заполнитель, чтобы все это было за один прогон.
Приходилось пару раз переключаться на document.xml и переписывать отрывки, но потом заработало. Затем я просто использовал замену (заполнитель, xml) и заменил текст упорядоченного документа document.xml, а затем снова распаковал его. Работал. Конец истории, к черту ночной билд или маппинг. Спасибо