Compatibility

Compatibility enumeration

Указывает имена параметров совместимости.

public enum Compatibility

Ценности

ИмяЦенностьОписание
NoTabHangInd0Без отступа для подвешивания табуляции
NoSpaceRaiseLower1Нет пробела Поднять Опустить
SuppressSpBfAfterPgBrk2Подавить пробел перед разрывом абзаца
WrapTrailSpaces3Перенести конечные пробелы
PrintColBlack4Фон столбца печати
NoColumnBalance5Нет балансировки столбцов
ConvMailMergeEsc6Преобразование экранов слияния почты
SuppressTopSpacing7Подавить верхний интервал
UseSingleBorderforContiguousCells8Использовать одинарную границу для смежных ячеек
TransparentMetafiles9Прозрачные метафайлы
ShowBreaksInFrames10Показывать разрывы в кадрах
SwapBordersOddFacingPgs11Поменять местами границы на нечетных страницах
DoNotLeaveBackslashAlone12Не оставляйте обратную косую черту в покое
DoNotExpandOnShiftReturn13Не расширять при нажатии клавиши Shift Return
UlTrailSpace14Подчеркивание конечного пробела
BalanceSingleByteDoubleByteWidth15Баланс однобайтовой и двухбайтовой ширины
SuppressTopSpacingAtTopOfPage16Подавить межстрочный интервал в WordPerfect
SpacingInWholePoints17Интервал в целых точках
PrintBodyTextBeforeHeader18Печатать основной текст перед заголовком
NoLeading19Нет Ведущего
SpaceForUL20Место для подчеркивания
MWSmallCaps21MW Малые Капители
SuppressTopLineSpacingWP22Подавить межстрочный интервал в WordPerfect
TruncateFontHeightLikeWP623Усечение высоты шрифта, как у WordPerfect 6
SubFontBySize24Заменить шрифт по размеру
LineWrapLikeWord625Перенос строки, как в слове 6
DoNotSuppressParagraphBorder26Не подавлять границу абзаца
NoExtraLineSpacing27Без дополнительного межстрочного интервала
SuppressBottomSpacing28Подавить нижний интервал
WPSpaceWidth29Ширина пробела WordPerfect
WPJustification30WordPerfect Выравнивание
UsePrinterMetrics31Использовать метрики принтера
ShapeLayoutLikeWW832Форма макета как Word 2000
FootnoteLayoutLikeWW833Макет сноски как в Word 2000
DoNotUseHtmlParagraphAutoSpacing34Не использовать автоматический интервал между абзацами HTML
AdjustLineHeightInTable35Настроить высоту строки в таблице
ForgetLastTabAlignment36Забыть последнее выравнивание табуляции
AutoSpaceLikeWord9537Автоматический пробел, как в слове 95
AlignTableRowByRow38Выровнять строки таблицы по правилу
LayoutRawTableWidth39Ширина необработанной таблицы макета
LayoutTableRowsApart40Макет таблицы Строки врозь
UseWord97LineBreakRules41Используйте правила переноса строк Word 97
DoNotBreakWrappedTables42Не разбивайте упакованные таблицы
doNotSnapToGridInCell43Не привязываться к сетке в ячейках
SelectFldWithFirstOrLastChar44Выберите поле с первым или последним символом
ApplyBreakingRules45Применить правила нарушения
DoNotWrapTextWithPunct46Не переносить текст знаками пунктуации
DoNotUseEastAsianBreakRules47Не используйте правила перерыва в Восточной Азии
UseWord2002TableStyleRules48Использовать правила стиля таблиц Word 2002
GrowAutofit49Вырасти AutoFit
UseNormalStyleForList50Использовать обычный стиль для списка
DoNotUseIndentAsNumberingTabStop51Не использовать отступ в качестве нумерации Табуляция
UseAltKinsokuLineBreakRules52Использовать правила разрыва строки Alt Kinsoku
AllowSpaceOfSameStyleInTable53Разрешить пробелы того же стиля в таблице
DoNotSuppressIndentation54Не подавлять отступы
DoNotAutofitConstrainedTables55Не применять автоподбор для таблиц с ограничениями
AutofitToFirstFixedWidthCell56Автоподбор по первой ячейке фиксированной ширины
UnderlineTabInNumList57Подчеркивание табуляции в нумерованном списке
DisplayHangulFixedWidth58Отображение фиксированной ширины хангыля
SplitPgBreakAndParaMark59Разделить разрыв страницы и знак абзаца
DoNotVertAlignCellWithSp60Не выравнивать ячейку по вертикали с интервалом
DoNotBreakConstrainedForcedTable61Не разрушать ограниченные принудительные таблицы
DoNotVertAlignInTxbx62Не выравнивать по вертикали в текстовых полях
UseAnsiKerningPairs63Использовать пары кернинга ANSI
CachedColBalance64Балансировка кэшированных столбцов
UseFELayout65Использовать макет Дальнего Востока
UICompat97To200366Режим совместимости пользовательского интерфейса от Word 97 до Word 2003
OverrideTableStyleFontSizeAndJustification67Переопределить размер шрифта и выравнивание стиля таблицы
DisableOpenTypeFontFormattingFeatures68Отключить функции форматирования шрифтов OpenType
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning69Поменять местами внутреннюю и внешнюю стороны для зеркальных отступов и относительного позиционирования
UseWord2010TableStyleRules70Использовать правила стиля таблиц Word 2010

Примеры

Показывает, как оптимизировать документ для разных версий Microsoft Word.

public void OptimizeFor()
{
    Document doc = new Document();

    // Этот объект содержит обширный список флагов, уникальных для каждого документа
    // которые позволяют нам обеспечить обратную совместимость со старыми версиями Microsoft Word.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // Распечатать настройки по умолчанию для пустого документа.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // Доступ к этим настройкам в Microsoft Word можно получить через «Файл» -> «Параметры» -> «Дополнительно» -> «Параметры совместимости для...».
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // Мы можем использовать метод OptimizeFor для обеспечения оптимальной совместимости с конкретной версией Microsoft Word.
    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
    Console.WriteLine("\nOptimized for Word 2010:");
    PrintCompatibilityOptions(options);

    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000);
    Console.WriteLine("\nOptimized for Word 2000:");
    PrintCompatibilityOptions(options);
}

/// <summary>
/// Группирует все флаги в объекте параметров совместимости документа по состоянию, затем печатает каждую группу.
/// </summary>
private static void PrintCompatibilityOptions(CompatibilityOptions options)
{
    IList<string> enabledOptions = new List<string>();
    IList<string> disabledOptions = new List<string>();
    AddOptionName(options.AdjustLineHeightInTable, "AdjustLineHeightInTable", enabledOptions, disabledOptions);
    AddOptionName(options.AlignTablesRowByRow, "AlignTablesRowByRow", enabledOptions, disabledOptions);
    AddOptionName(options.AllowSpaceOfSameStyleInTable, "AllowSpaceOfSameStyleInTable", enabledOptions, disabledOptions);
    AddOptionName(options.ApplyBreakingRules, "ApplyBreakingRules", enabledOptions, disabledOptions);
    AddOptionName(options.AutoSpaceLikeWord95, "AutoSpaceLikeWord95", enabledOptions, disabledOptions);
    AddOptionName(options.AutofitToFirstFixedWidthCell, "AutofitToFirstFixedWidthCell", enabledOptions, disabledOptions);
    AddOptionName(options.BalanceSingleByteDoubleByteWidth, "BalanceSingleByteDoubleByteWidth", enabledOptions, disabledOptions);
    AddOptionName(options.CachedColBalance, "CachedColBalance", enabledOptions, disabledOptions);
    AddOptionName(options.ConvMailMergeEsc, "ConvMailMergeEsc", enabledOptions, disabledOptions);
    AddOptionName(options.DisableOpenTypeFontFormattingFeatures, "DisableOpenTypeFontFormattingFeatures", enabledOptions, disabledOptions);
    AddOptionName(options.DisplayHangulFixedWidth, "DisplayHangulFixedWidth", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotAutofitConstrainedTables, "DoNotAutofitConstrainedTables", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotBreakConstrainedForcedTable, "DoNotBreakConstrainedForcedTable", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotBreakWrappedTables, "DoNotBreakWrappedTables", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotExpandShiftReturn, "DoNotExpandShiftReturn", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotLeaveBackslashAlone, "DoNotLeaveBackslashAlone", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSnapToGridInCell, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSuppressIndentation, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSuppressParagraphBorders, "DoNotSuppressParagraphBorders", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseEastAsianBreakRules, "DoNotUseEastAsianBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseHTMLParagraphAutoSpacing, "DoNotUseHTMLParagraphAutoSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseIndentAsNumberingTabStop, "DoNotUseIndentAsNumberingTabStop", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotVertAlignCellWithSp, "DoNotVertAlignCellWithSp", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotVertAlignInTxbx, "DoNotVertAlignInTxbx", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotWrapTextWithPunct, "DoNotWrapTextWithPunct", enabledOptions, disabledOptions);
    AddOptionName(options.FootnoteLayoutLikeWW8, "FootnoteLayoutLikeWW8", enabledOptions, disabledOptions);
    AddOptionName(options.ForgetLastTabAlignment, "ForgetLastTabAlignment", enabledOptions, disabledOptions);
    AddOptionName(options.GrowAutofit, "GrowAutofit", enabledOptions, disabledOptions);
    AddOptionName(options.LayoutRawTableWidth, "LayoutRawTableWidth", enabledOptions, disabledOptions);
    AddOptionName(options.LayoutTableRowsApart, "LayoutTableRowsApart", enabledOptions, disabledOptions);
    AddOptionName(options.LineWrapLikeWord6, "LineWrapLikeWord6", enabledOptions, disabledOptions);
    AddOptionName(options.MWSmallCaps, "MWSmallCaps", enabledOptions, disabledOptions);
    AddOptionName(options.NoColumnBalance, "NoColumnBalance", enabledOptions, disabledOptions);
    AddOptionName(options.NoExtraLineSpacing, "NoExtraLineSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.NoLeading, "NoLeading", enabledOptions, disabledOptions);
    AddOptionName(options.NoSpaceRaiseLower, "NoSpaceRaiseLower", enabledOptions, disabledOptions);
    AddOptionName(options.NoTabHangInd, "NoTabHangInd", enabledOptions, disabledOptions);
    AddOptionName(options.OverrideTableStyleFontSizeAndJustification, "OverrideTableStyleFontSizeAndJustification", enabledOptions, disabledOptions);
    AddOptionName(options.PrintBodyTextBeforeHeader, "PrintBodyTextBeforeHeader", enabledOptions, disabledOptions);
    AddOptionName(options.PrintColBlack, "PrintColBlack", enabledOptions, disabledOptions);
    AddOptionName(options.SelectFldWithFirstOrLastChar, "SelectFldWithFirstOrLastChar", enabledOptions, disabledOptions);
    AddOptionName(options.ShapeLayoutLikeWW8, "ShapeLayoutLikeWW8", enabledOptions, disabledOptions);
    AddOptionName(options.ShowBreaksInFrames, "ShowBreaksInFrames", enabledOptions, disabledOptions);
    AddOptionName(options.SpaceForUL, "SpaceForUL", enabledOptions, disabledOptions);
    AddOptionName(options.SpacingInWholePoints, "SpacingInWholePoints", enabledOptions, disabledOptions);
    AddOptionName(options.SplitPgBreakAndParaMark, "SplitPgBreakAndParaMark", enabledOptions, disabledOptions);
    AddOptionName(options.SubFontBySize, "SubFontBySize", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressBottomSpacing, "SuppressBottomSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressSpBfAfterPgBrk, "SuppressSpBfAfterPgBrk", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressSpacingAtTopOfPage, "SuppressSpacingAtTopOfPage", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressTopSpacing, "SuppressTopSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressTopSpacingWP, "SuppressTopSpacingWP", enabledOptions, disabledOptions);
    AddOptionName(options.SwapBordersFacingPgs, "SwapBordersFacingPgs", enabledOptions, disabledOptions);
    AddOptionName(options.SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning, "SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning", enabledOptions, disabledOptions);
    AddOptionName(options.TransparentMetafiles, "TransparentMetafiles", enabledOptions, disabledOptions);
    AddOptionName(options.TruncateFontHeightsLikeWP6, "TruncateFontHeightsLikeWP6", enabledOptions, disabledOptions);
    AddOptionName(options.UICompat97To2003, "UICompat97To2003", enabledOptions, disabledOptions);
    AddOptionName(options.UlTrailSpace, "UlTrailSpace", enabledOptions, disabledOptions);
    AddOptionName(options.UnderlineTabInNumList, "UnderlineTabInNumList", enabledOptions, disabledOptions);
    AddOptionName(options.UseAltKinsokuLineBreakRules, "UseAltKinsokuLineBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseAnsiKerningPairs, "UseAnsiKerningPairs", enabledOptions, disabledOptions);
    AddOptionName(options.UseFELayout, "UseFELayout", enabledOptions, disabledOptions);
    AddOptionName(options.UseNormalStyleForList, "UseNormalStyleForList", enabledOptions, disabledOptions);
    AddOptionName(options.UsePrinterMetrics, "UsePrinterMetrics", enabledOptions, disabledOptions);
    AddOptionName(options.UseSingleBorderforContiguousCells, "UseSingleBorderforContiguousCells", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord2002TableStyleRules, "UseWord2002TableStyleRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord2010TableStyleRules, "UseWord2010TableStyleRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord97LineBreakRules, "UseWord97LineBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.WPJustification, "WPJustification", enabledOptions, disabledOptions);
    AddOptionName(options.WPSpaceWidth, "WPSpaceWidth", enabledOptions, disabledOptions);
    AddOptionName(options.WrapTrailSpaces, "WrapTrailSpaces", enabledOptions, disabledOptions);
    Console.WriteLine("\tEnabled options:");
    foreach (string optionName in enabledOptions)
        Console.WriteLine($"\t\t{optionName}");
    Console.WriteLine("\tDisabled options:");
    foreach (string optionName in disabledOptions)
        Console.WriteLine($"\t\t{optionName}");
}

private static void AddOptionName(Boolean option, String optionName, IList<string> enabledOptions, IList<string> disabledOptions)
{
    if (option)
        enabledOptions.Add(optionName);
    else
        disabledOptions.Add(optionName);
}

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