Вопрос

Я пытаюсь объединить два документа docx в один документ docx, используя OpenXML SDK 2.0.Документы должны быть объединены без потери их стиля и пользовательских верхних и нижних колонтитулов.Я надеюсь, что смогу добиться этого, используя AltChunk и разрыв раздела.Но я не могу заставить его работать.

Возможно ли то, что я пытаюсь сделать?Может ли кто-нибудь дать мне подсказку, как этого добиться?

Это было полезно?

Решение 2

Используя «Инструмент повышения производительности Open XML», я проанализировал структуру docx-документа и пришел к выводу, что объединение документов с их стилем, верхними и нижними колонтитулами...невозможно из коробки, используя Altchunk.Вы можете скачать инструмент отдельно с сайта открыть XML SDK.

Сейчас я копирую все вручную в документ и проверяю, что все ссылки на стили, ссылки на заголовки, ссылки на нижний колонтитул...сохраняются.Это означает, что я даю им новый уникальный идентификатор, прежде чем копировать их в документ и менять все ссылки со старого идентификатора на новый.Для этого нужно много кода, но упомянутый выше инструмент действительно помог.

Добавить разрыв раздела также довольно сложно.Вы должны знать, что Свойства раздела-tag описывает все свойства раздела и то, что он может быть один SectionProperties-тег под Body-тег, описывающий свойства последнего раздела.Таким образом, добавление нового разрыва раздела означает копирование последнего SectionProperties-тег к последнему абзацу раздела и добавление нового SectionProperties-тег под Body-ярлык.Я также получил много информации из инструмента повышения производительности.

Другие советы

Ответ выше НЕ верен вообще!Это ИМЕННО то, для чего был разработан AltChunk, и он отлично работает!

ПРИМЕЧАНИЕ:что документы не будут объединены в один документ, ПОКА Word не откроет файл в первый раз (очевидно, файл необходимо сохранить, иначе файл на диске не будет обновлен).

Дополнительную информацию о том, как это сделать правильно, можно найти в этом блоге:https://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx?Redirected=true

п.с.Что касается изучения Open XML с помощью инструмента повышения производительности, я считаю, что нужно просто установить официальную надстройку Visual Studio Open XML и открыть документы Office из Visual Studio, чтобы изучить их, это очень удобно!:-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top