Встраивание документа OpenXML в другой документ OpenXml

2

Мне нужно собрать несколько файлов .docx в папке и "соединить" их в один документ, который будет отображаться пользователю.

Теперь я прочитал статью статью Брайана Джонса, но, хотя это звучало многообещающе, я столкнулся с проблемой.

Когда я выполняю действия вручную с помощью Word 2007, я заканчиваю копией файла docx в папке /embeddings, и когда я открываю документ, мне предоставляется встроенный контент.

Однако, когда я делаю то же самое через код, я получаю файл с именем package.bin в папке /embeddings, и когда я открываю документ, меня приветствует альтернативный образ, говорящий мне дважды щелкнуть по нему для активации встроенного документа. Это не то, что я хотел.

Может кто-то уточнить, как я вставляю документ (ы), чтобы они отображались как .docx файлы, а не .bin? Я надеюсь, что это позволит преодолеть проблему Double-Click для активации.

Спасибо в Advance

  • 0
    Будьте осторожны, как вы шагаете! news.bbc.co.uk/1/hi/technology/8197990.stm
  • 0
    Я буду иметь дело с этим, как и когда у меня тоже ;-)
Теги:
openxml

1 ответ

3
Лучший ответ

Я разместил этот вопрос на форумах OpenXMLDeveloper и был перенаправлен на другой статьи Брайана Джонса.

В то время как блог указал мне в правильном направлении, это была не волшебная пуля. У меня были проблемы с форматированием, которые были устранены добавлением элемента MatchSource в AltChunk;

MatchSource matchSrc = new MatchSource();
matchSrc.Val = DocumentFormat.OpenXml.Wordprocessing.BooleanValues.True;
altChunk.AppendChild(matchSrc);

Мне также нужно было удалить нижний колонтитул из объединенных документов, поскольку они были воспроизведены в новом документе (что привело к многочисленным нижним колонтитулам в нижнем колонтитуле!). Теперь у меня есть только нижний колонтитул в шаблоне для основного документа.

Надеюсь, что это поможет кому-то еще, поскольку, похоже, не слишком много информации, есть момент.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню