Нумерации Word
(нумерованные списки, но также списки с маркерами) в формате Office Open XML
хранятся в /word/numbering.xml
архива *.docx
ZIP
. Есть элементы abstractNum
, описывающие формат списка, и элементы num
, ссылающиеся на abstractNum
. numId
элементов num
упоминаются в параграфах /word/document.xml
, чтобы установить, какие форматы нумерации должны использоваться в этом параграфе. Параграфы, ссылающиеся на один и тот же numId
, находятся в одном списке. Параграфы, ссылающиеся на разные numId
, находятся в разных списках.
В apache poi
есть XWPFNumbering , представляющий часть документа /word/numbering.xml
и XWPFAbstractNum , представляющий abstractNum
.
До сих пор нет способа создать XWPFAbstractNum
с нуля без использования классов ooxml-schemas
низкого уровня.
Также, насколько я знаю, не существует простого способа слияния /word/numbering.xml
документируют части различных Word
документов из-за необходимости обработки различных Id
s в /word/numbering.xml
, а также их вхождений в /word/document.xml
. Это очень сложно, и я не знаю ни одной бесплатной библиотеки, которая могла бы сделать это правильно.
В общем, насколько я знаю, не существует простого способа объединить разные Word
документы из-за сложной хранение в Word
форматах файлов. Все предоставляемые возможности с использованием бесплатного кода являются лишь наполовину полезными (обход и копирование), если не ошибаются и бесполезны (просто присоединение нескольких тел документа один за другим) вообще.