/ / Як створити або оновити зміст у файлі слова? - java, apache-poi, docx4j

Як створити або оновити зміст у файлі слів? - java, apache-poi, docx4j

Я можу читати або писати текстовий документ у Java за допомогоюPOI або docx4j Apache. Але я не можу знайти будь-які посилання на створення або оновлення змісту у файлі Word. Чи існує інший API, який може підтримувати TOC в Java? Або, можливо, у Apache POI або docx4j є опції для створення або оновлення змісту?

Відповіді:

1 для відповіді № 1

Існує чистіший спосіб для цього. Вам просто потрібно відкрити порожній docx, який буде діяти як шаблон. Додайте до нього зразок тексту зі стилем, який ви хочете включити, і тоді цей фрагмент коду буде працювати.

XWPFDocument document = new XWPFDocument(new FileInputStream("template.docx");
paragraph = document.createParagraph();
lastParagraph.setStyle("Heading1");

1 для відповіді № 2

Для створення змісту з apache poi можна просто скористатися:

doc.createTOC();

Але здається трохи глючить. Зміст створено, але (MS Office pro 2010), схоже, не визнає його як ТОС, і посилання не працюють.

Або ви можете зателефонувати:

doc.enforceUpdateFields();

Це створить спливаюче вікно у документі слова: "Цей документ містить поля, які можуть посилатися на інші файли. Ви хочете оновити поля в цьому документі?", Яка виглядає трохи хитрою, якщо ви відкриваєте новий документ :)