Работа с настройками документа

Работа с настройками документа

Работа с настройками документа

Помимо содержимого, документ Word содержит настройки уровня приложения — переключатели совместимости со старыми версиями, параметры переносов, сохранённую конфигурацию слияния почты, параметры просмотра и состояние защиты от записи. Aspose.Words FOSS для .NET предоставляет их через Aspose.Words.Settings пространство имён и несколько свойств в Document. На этой странице рассматриваются каждую группу настроек и то, что она контролирует и чего не контролирует.


Опции совместимости

Document.CompatibilityOptions — это экземпляр CompatibilityOptions, содержащий десятки логических переключателей, воспроизводящих определённые поведения макета и интервалов в более старых версиях Word — например GrowAutofit, UseWord2010TableStyleRules, UseWord2002TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage, SpacingInWholePoints, UseFELayout и BalanceSingleByteDoubleByteWidth. Устанавливайте необходимые свойства напрямую, чтобы соответствовать особенностям отображения конкретной версии Word в последующих инструментах, читающих документ.


Настройки переносов

Document.HyphenationOptions — это экземпляр HyphenationOptions (AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps, HyphenationZone), который сохраняет параметры переноса слов Word для документа. Эти свойства передают запрос в обе стороны; поскольку в этом издании отсутствует движок верстки страниц, Aspose.Words FOSS сам не вычисляет переносы — их применяет Word при открытии и разбиении файла на страницы.


Конфигурация слияния почты

Document.MailMergeSettings — это экземпляр MailMergeSettings, который сохраняет конфигурацию слияния почты, записанную в документе: MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord и ViewMergedData, а также Clear() и Clone(). Для внешних источников данных, подключаемых через механизм Office Data Source Object в Word, MailMergeSettings.Odso предоставляет экземпляр Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), чьи FieldMapDatas (OdsoFieldMapDataCollection для OdsoFieldMapData: Name, MappedName, Column, Type) и RecipientDatas (OdsoRecipientDataCollection для OdsoRecipientData: Active, Column, Hash, UniqueTag) описывают сопоставление полей и список получателей.


Настройки просмотра документа

Document.ViewOptions — это экземпляр ViewOptions, управляющий тем, как Word отображает файл при открытии: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries и FormsDesign. Эти свойства влияют только на собственное отображение документа в Word — они не влияют на то, как Aspose.Words FOSS обрабатывает его.


Защита от записи

Document.WriteProtection — это экземпляр WriteProtection (IsWriteProtected, ReadOnlyRecommended) с SetPassword() для установки пароля защиты и ValidatePassword() для проверки предложенного пароля.


Единицы измерения

Перечисление MeasurementUnits задаёт единицу измерения, которую Word должен использовать в своём интерфейсе для документа.


Советы и рекомендации

  • CompatibilityOptions.OptimizeFor(MsWordVersion) присутствует в классе, но его реализация в этой сборке неполная — он бросает NotImplementedException. Установите необходимые отдельные булевые свойства CompatibilityOptions напрямую, вместо того чтобы полагаться на OptimizeFor для применения целого профиля версии сразу.
  • MailMergeSettings and Odso хранить слияние почты configuration которое было записано в документе — чтение и запись этой конфигурации поддерживаются, но выполнение слияния почты (заполнение полей из живого источника данных) не включено в эту откры-исходную редакцию.
  • HyphenationOptions и ViewOptions — это настройки отображения/интерфейса, которые применяет сам Word — не ожидайте, что вызов Document.Save() изменит перенос текста или его отображение в соответствии с этими параметрами, поскольку в этой версии отсутствует движок верстки страниц.
  • Вызовите WriteProtection.SetPassword() перед включением IsWriteProtected и используйте ValidatePassword() для проверки предлагаемого пароля, вместо того чтобы хранить или сравнивать сырую строку самостоятельно.
  • CompatibilityOptions, HyphenationOptions, MailMergeSettings, ViewOptions и WriteProtection доступны напрямую из Document — нет необходимости искать их в дереве узлов.

Распространённые проблемы

ПроблемаПричинаИсправление
CompatibilityOptions.OptimizeFor() выбрасывает NotImplementedExceptionНе реализовано в этой сборкеВместо этого установите отдельные булевые свойства CompatibilityOptions
Слияние почты не заполняет документ даннымиMailMergeSettings только хранит конфигурацию слияния; выполнение не включено в эту редакциюПрочитайте сохранённую конфигурацию источника данных и реализуйте собственную логику заполнения полей, или используйте commercial Aspose.Words для .NET
Изменение ViewOptions.ZoomPercent не оказывает видимого эффекта при обработке документаViewOptions влияет только на отображение в Word, а не на собственную обработку Aspose.Words FOSSОжидаемое поведение – исправление не требуется
WriteProtection.ValidatePassword() возвращает false неожиданноSetPassword() не был вызван первым, или был установлен другой парольВызовите SetPassword(), чтобы установить защищённый пароль перед проверкой

FAQ

Могу ли я использовать Aspose.Words FOSS для выполнения реального слияния почты?

Нет. MailMergeSettings и Odso позволяют вам читать и записывать конфигурацию слияния, хранящуюся в документе, но выполнение рассылки почты – заполнение полей из источника данных – не включено в эту open-source edition.

Работает ли CompatibilityOptions.OptimizeFor()?

Нет – в этой сборке он выдает NotImplementedException. Вместо этого задайте нужные отдельные свойства CompatibilityOptions напрямую.

Как защитить документ паролем от редактирования?

Вызовите WriteProtection.SetPassword() на Document.WriteProtection, затем установите IsWriteProtected, чтобы включить защиту.

Влияют ли HyphenationOptions и ViewOptions на расположение документа?

Нет. Оба являются сохранёнными настройками, которые Microsoft Word применяет при открытии и отображении файла. Эта редакция не включает движок размещения страниц, поэтому эти параметры передаются без Aspose.Words FOSS, который сам вычислял бы макет на их основе.


API Reference Сводка

Класс / ПеречислениеОписание:
CompatibilityOptionsУстаревшие переключатели макета/отступов версии Word, через Document.CompatibilityOptions
CompatibilityПеречисление, задающее отдельные параметры совместимости
MsWordVersionЗначения версии Word, используемые CompatibilityOptions.OptimizeFor()
HyphenationOptionsНастройки переносов, через Document.HyphenationOptions
MailMergeSettingsСохранённая конфигурация mail-merge, через Document.MailMergeSettings
OdsoНастройки подключения Office Data Source Object для mail merge
OdsoFieldMapData / OdsoFieldMapDataCollectionСопоставление столбцов с полями слияния для источника данных ODSO
OdsoRecipientData / OdsoRecipientDataCollectionСостояние включения/исключения получателя для mail merge
ViewOptionsНастройки отображения Word (масштаб, знаки форматирования), через Document.ViewOptions
WriteProtectionСостояние защиты от записи документа, через Document.WriteProtection
MeasurementUnitsЕдиница измерения, которую Word должен использовать в интерфейсе

См. также:

 Русский