Как обновить заголовок страницы файла .docx
с помощью API Apache POI 3.7?
Обновление заголовка страницы файла .docx с помощью Apache POI
Ответы (3)
Сначала вызовите getHeaderFooterPolicy(). в вашем XWPFDocument, который возвращает HeaderFooterPolicy< /а>. Исходя из этого, вы можете определить соответствующий заголовок для своей страницы (например, «По умолчанию», «Первая страница» и т. д.).
Когда у вас есть соответствующий XWPFHeader, который вы хотите изменить, то вы можете приступить к редактированию его, как и любой другой части документа. Вы можете получить таблицы, абзацы и т. д., а затем удалить их, добавить новые, изменить их текст и т. д. Это все тот же процесс, что и редактирование основного документа.
Поскольку ваш документ имеет формат .docx
, вам потребуется использовать API компонента XWPF проекта POI. Вам может пригодиться класс org.apache.poi.xwpf.usermodel.XWPFHeader
(Javadoc ), но я никогда не использовал его сам.
Я не смог найти подходящего справочника по использованию XWPF, но следующие инструкции описывают доступ к заголовкам с помощью HWPF, аналогичного интерфейса для старых документов Word (AKA .doc
docs):
Чтобы получить верхние и нижние колонтитулы документа Word, сначала создайте файл
org.apache.poi.hwpf.HWPFDocument
. Далее вам нужно создатьorg.apache.poi.hwpf.usermodel.HeaderStores
, передав ему свойHWPFDocument
. Наконец,HeaderStores
дает вам доступ к верхним и нижним колонтитулам, включая первую/четную/нечетную страницу, если они определены в вашем документе. Кроме того,HeaderStores
предоставляет метод удаления любых макросов в тексте, что полезно, поскольку многие верхние и нижние колонтитулы заканчиваются макросами.
страница, откуда взяты эти инструкции, подразумевает, что поддержка заголовков никогда не была такой хорошей в HWPF, не говоря уже о XWPF. Если говорить о других плохих новостях, эта другая страница Apache звучит так, как будто разработка XWPF практически застопорилась. . Возможно, то, что вы хотите сделать, запланировано, но еще не поддерживается.
Ознакомьтесь с Написание документов Microsoft Word на Java с помощью Apache POI < /а>
Я никогда раньше не работал с файлом Word, но сделал это с библиотекой POI для файлов Excel, им довольно легко следовать (они моделируют строку, столбец, лист и т. д. для Excel), поэтому я предполагаю, что их будет одинаково легко сделать для Word файлы.
И быстро прочитайте их руководство Apache POI - HWPF - API Java для обработки файлов Microsoft Word