Обновление заголовка страницы файла .docx с помощью Apache POI - PullRequest
3 голосов
/ 24 февраля 2012

Как обновить заголовок страницы файла .docx с помощью API Apache POI 3.7?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2012

Поскольку ваш документ имеет формат .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 почти остановилась. Возможно, то, что вы хотите сделать, запланировано, но еще не поддерживается.

2 голосов
/ 24 февраля 2012

Извлечение Написание документов Microsoft Word в Java с помощью Apache POI

Я никогда раньше не работал с файлом Word, но делал это с библиотекой POI для материалов Excel, за ними довольно легко следить(они моделируют строку, столбец, лист и т. д. для Excel), поэтому я предполагаю, что их будет одинаково легко сделать для файлов Word.

И быстро прочитайте их руководство Apache POI - HWPF - JavaAPI для обработки файлов Microsoft Word

1 голос
/ 25 февраля 2012

Сначала вызовите getHeaderFooterPolicy () для вашего XWPFDocument, который возвращает HeaderFooterPolicy . Исходя из этого, вы можете определить соответствующий заголовок для вашей страницы (например, Default, First Page и т. Д.)

Если у вас есть соответствующий XWPFHeader , который вы хотите изменить, вы можете редактировать его как любую другую часть документа. Вы можете выбрать таблицы, абзацы и т. Д., Затем удалить их, добавить новые, изменить их текст и т. Д. Это все тот же процесс, что и при редактировании основного документа.

...