ImportFormatMode

ImportFormatMode enumeration

Указывает, как форматирование объединяется при импорте содержимого из другого документа.

public enum ImportFormatMode

Ценности

ИмяЦенностьОписание
UseDestinationStyles0Используйте стили целевого документа и скопируйте новые стили. Это опция по умолчанию.
KeepSourceFormatting1Скопируйте все необходимые стили в целевой документ, при необходимости создайте уникальные имена стилей.
KeepDifferentStyles2Копировать только те стили, которые отличаются от стилей в исходном документе.

Примечания

Когда вы копируете узлы из одного документа в другой, этот параметр определяет, как разрешается форматирование , когда оба документа имеют стиль с одинаковым именем, но разное форматирование.

Форматирование решается следующим образом:

  1. Встроенные стили сопоставляются с использованием идентификатора стиля, независимого от локали. Определенные пользователем стили сопоставляются с использованием имени стиля, чувствительного к регистру.
  2. Если соответствующий стиль не найден в целевом документе, style (и все стили, на которые он ссылается) копируются в целевой документ , а импортированные узлы обновляются, чтобы ссылаться на новый стиль.
  3. Если соответствующий стиль уже существует в целевом документе, то, что происходит , зависит отимпортформатмоде параметр передан to Документ.ImportNode , как описано ниже.

При использованииUseDestinationStyles Если соответствующий стиль уже существует в целевом документе, стиль не копируется, а импортированные узлы обновляются для ссылки на существующий стиль.

Недостаток использованияUseDestinationStylesзаключается в том, что импортированный текст может выглядеть иначе в целевом документе по сравнению с исходным документом. Например, стиль «Заголовок 1» в исходном документе использует шрифт Arial 16pt и стиль «Заголовок 1» в целевом документе использует Times New Шрифт Roman 14pt. При импорте текста стиля «Заголовок 1» без другого прямого форматирования он будет отображаться как шрифт Times New Roman 14pt в конечном документе.

KeepSourceFormattingпозволяет убедиться, что импортированный контент выглядит в целевом документе таким же , как и в исходном документе. Если соответствующий стиль уже существует в целевом документе, форматирование исходного стиля расширяется на прямые атрибуты узла, и стиль изменен на Обычный. Если стиль не существует в целевом документе, то исходный стиль импортируется в целевой документ и применяется к импортированному узлу. Обратите внимание, что не всегда возможно сохранить исходный стиль, даже если он не существует в целевом документе. В этом случае форматирование такого стиля будет расширено до прямых атрибутов узла в пользу сохранения исходного форматирования узла.

Недостаток использованияKeepSourceFormattingзаключается в том, что если вы выполните несколько импортов, , вы можете получить множество стилей в целевом документе, и это может затруднить форматирование согласованного стиля using в Microsoft Word для этого документа.

С использованиемKeepDifferentStyles Опция позволяет повторно использовать целевые стили , если предоставляемое ими форматирование идентично стилям в исходном документе. Если стиль в целевом документе отличается от исходного, то он импортируется.

Примеры

Показывает, как вставить документ в другой документ.

Document doc = new Document(MyDir + "Document.docx");

DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.PageBreak);

Document docToInsert = new Document(MyDir + "Formatted elements.docx");

builder.InsertDocument(docToInsert, ImportFormatMode.KeepSourceFormatting);
builder.Document.Save(ArtifactsDir + "DocumentBuilder.InsertDocument.docx");

Смотрите также