CompatibilityOptions
Содержание
[
Скрывать
]CompatibilityOptions class
Содержит параметры совместимости (то есть пользовательские настройки, введенные наСовместимость вкладкаПараметры диалог в Microsoft Word).
Чтобы узнать больше, посетитеОпределить формат файла и проверить совместимость формата документальная статья.
public class CompatibilityOptions
Характеристики
Имя | Описание |
---|---|
AdjustLineHeightInTable { get; set; } | Добавить шаг линий сетки документа к линиям в ячейках таблицы. |
AlignTablesRowByRow { get; set; } | Выровнять строки таблицы независимо. |
AllowSpaceOfSameStyleInTable { get; set; } | Разрешить контекстное размещение абзацев в таблицах. |
ApplyBreakingRules { get; set; } | Используйте устаревшие эфиопские и амхарские правила переноса строк. |
AutofitToFirstFixedWidthCell { get; set; } | Разрешить столбцам таблицы превышать предпочтительную ширину составляющих ячеек. |
AutoSpaceLikeWord95 { get; set; } | Эмулировать интервал между символами полной ширины Word 95. |
BalanceSingleByteDoubleByteWidth { get; set; } | Баланс однобайтовых и двухбайтовых символов. |
CachedColBalance { get; set; } | Использовать кэшированную информацию абзацев для балансировки столбцов. |
ConvMailMergeEsc { get; set; } | Рассматривать разделитель кавычек с обратной косой чертой как две кавычки. |
DisableOpenTypeFontFormattingFeatures { get; set; } | Указывает на необходимость отключения функций форматирования шрифтов OpenType. |
DisplayHangulFixedWidth { get; set; } | Всегда используйте фиксированную ширину для символов хангыль. |
DoNotAutofitConstrainedTables { get; set; } | Не применять автоподбор таблиц для размещения рядом с обернутыми объектами. |
DoNotBreakConstrainedForcedTable { get; set; } | Не разрывайте строки таблиц вокруг плавающих таблиц. |
DoNotBreakWrappedTables { get; set; } | Не допускайте разрыва плавающих таблиц между страницами. |
DoNotExpandShiftReturn { get; set; } | Не выравнивайте строки, заканчивающиеся мягким переносом строки. |
DoNotLeaveBackslashAlone { get; set; } | Преобразовать обратную косую черту в знак йены при вводе. |
DoNotSnapToGridInCell { get; set; } | Не привязываться к сетке документа в ячейках таблицы с объектами. |
DoNotSuppressIndentation { get; set; } | Не игнорируйте плавающие объекты при расчете отступа абзаца. |
DoNotSuppressParagraphBorders { get; set; } | Не подавлять границы абзацев рядом с фреймами. |
DoNotUseEastAsianBreakRules { get; set; } | Не сжимайте сжимаемые символы при использовании сетки документа. |
DoNotUseHTMLParagraphAutoSpacing { get; set; } | Использовать фиксированный интервал между абзацами для автоматической настройки HTML. |
DoNotUseIndentAsNumberingTabStop { get; set; } | Игнорировать отступ при создании позиции табуляции после нумерации. |
DoNotVertAlignCellWithSp { get; set; } | Не выравнивайте по вертикали ячейки, содержащие плавающие объекты. |
DoNotVertAlignInTxbx { get; set; } | Игнорировать вертикальное выравнивание в текстовых полях. |
DoNotWrapTextWithPunct { get; set; } | Не разрешать висячие знаки препинания с сеткой символов. |
FootnoteLayoutLikeWW8 { get; set; } | Эмуляция размещения сносок Word 6.x/95/97. |
ForgetLastTabAlignment { get; set; } | Игнорировать ширину последней позиции табуляции при выравнивании абзаца, если он не выровнен по левому краю. |
GrowAutofit { get; set; } | Разрешить таблицам автоматически подходить к полям страницы. |
LayoutRawTableWidth { get; set; } | Игнорировать пробел перед таблицей при принятии решения о том, должна ли таблица обтекать плавающий объект. |
LayoutTableRowsApart { get; set; } | Разрешить строкам таблицы независимо переносить встроенные объекты. |
LineWrapLikeWord6 { get; set; } | Эмулировать перенос строк Word 6.0 для восточноазиатского текста. |
MWSmallCaps { get; set; } | Эмуляция Word 5.x для форматирования малых заглавных букв на Macintosh. |
NoColumnBalance { get; set; } | Не балансируйте текстовые столбцы в разделе. |
NoExtraLineSpacing { get; set; } | Не центрировать содержимое на строках с точной высотой строки. |
NoLeading { get; set; } | Не добавлять межстрочный интервал между строками текста. |
NoSpaceRaiseLower { get; set; } | Не увеличивать высоту строки для поднятого/опущенного текста. |
NoTabHangInd { get; set; } | Не создавать пользовательскую позицию табуляции для выступа. |
OverrideTableStyleFontSizeAndJustification { get; set; } | Указывает, как оценивается иерархия стилей документа. |
PrintBodyTextBeforeHeader { get; set; } | Печатать основной текст перед содержимым верхнего/нижнего колонтитула. |
PrintColBlack { get; set; } | Печать цветов как черно-белых без сглаживания. |
SelectFldWithFirstOrLastChar { get; set; } | Выбор поля при выборе первого или последнего символа. |
ShapeLayoutLikeWW8 { get; set; } | Эмуляция обтекания текстом Word 97 плавающих объектов. |
ShowBreaksInFrames { get; set; } | Отображать разрывы страниц/столбцов, присутствующие в кадрах. |
SpaceForUL { get; set; } | Добавить дополнительное пространство под базовой линией для подчеркнутого восточноазиатского текста. |
SpacingInWholePoints { get; set; } | Расширять/Сжимать текст только целыми точками. |
SplitPgBreakAndParaMark { get; set; } | Всегда перемещать знак абзаца на страницу после разрыва страницы. |
SubFontBySize { get; set; } | Увеличить приоритет размера шрифта при замене шрифта. |
SuppressBottomSpacing { get; set; } | Игнорировать точную высоту строки для последней строки на странице. |
SuppressSpacingAtTopOfPage { get; set; } | Игнорировать минимальную высоту строки для первой строки на странице. |
SuppressSpBfAfterPgBrk { get; set; } | Не используйте пробел перед первой строкой после разрыва страницы. |
SuppressTopSpacing { get; set; } | Игнорировать минимальную и точную высоту строки для первой строки на странице. |
SuppressTopSpacingWP { get; set; } | Эмулировать межстрочный интервал WordPerfect 5.x. |
SwapBordersFacingPgs { get; set; } | Поменять местами границы абзацев на нечетных страницах. |
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; } | Указывает на необходимость поменять местами внутреннюю и внешнюю части для зеркальных отступов и относительного позиционирования. |
TransparentMetafiles { get; set; } | Указывает, что область позади изображений метафайла не должна очищаться. |
TruncateFontHeightsLikeWP6 { get; set; } | Эмуляция расчета высоты шрифта WordPerfect 6.x. |
UICompat97To2003 { get; set; } | True для отключения функциональности пользовательского интерфейса, несовместимой с Word97-2003. Значение по умолчанию:ЛОЖЬ . |
UlTrailSpace { get; set; } | Подчеркнуть все конечные пробелы. |
UnderlineTabInNumList { get; set; } | Подчеркивание следующего символа после нумерации. |
UseAltKinsokuLineBreakRules { get; set; } | Использовать альтернативный набор восточноазиатских правил разрыва линий. |
UseAnsiKerningPairs { get; set; } | Использовать пары кернинга ANSI из шрифтов. |
UseFELayout { get; set; } | Не обходить код макета восточноазиатских/сложных шрифтов. |
UseNormalStyleForList { get; set; } | Не применять автоматически стиль абзаца списка к маркированному/нумерованному тексту. |
UsePrinterMetrics { get; set; } | Использовать метрики принтера для отображения документов. |
UseSingleBorderforContiguousCells { get; set; } | Использовать упрощенные правила для конфликтов границ таблиц. |
UseWord2002TableStyleRules { get; set; } | Эмулировать правила стиля таблиц Word 2002. |
UseWord2010TableStyleRules { get; set; } | Указывает на необходимость использования правил стиля таблиц Word2010. |
UseWord97LineBreakRules { get; set; } | Эмулировать Word 97 Восточноазиатский перенос строк. |
WPJustification { get; set; } | Эмулировать выравнивание абзаца WordPerfect 6.x. |
WPSpaceWidth { get; set; } | Указывает, следует ли устанавливать ширину пробела, как это сделано в WordPerfect 5.x. |
WrapTrailSpaces { get; set; } | Перенос строки Завершающие пробелы. |
Методы
Имя | Описание |
---|---|
OptimizeFor(MsWordVersion) | Позволяет оптимизировать содержимое документа, а также поведение Aspose.Words по умолчанию для определенных версий MS Word. |
Примеры
Показывает, как выровнять текстовое содержимое текстового поля по вертикали.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertShape(ShapeType.TextBox, 200, 200);
// Установите свойство "VerticalAnchor" на "TextBoxAnchor.Top" для
// выровнять текст в этом текстовом поле по верхней стороне фигуры.
// Установите свойство "VerticalAnchor" на "TextBoxAnchor.Middle" для
// выровнять текст в этом текстовом поле по центру фигуры.
// Установите свойство "VerticalAnchor" на "TextBoxAnchor.Bottom" для
// выровнять текст в этом текстовом поле по нижнему краю фигуры.
shape.TextBox.VerticalAnchor = verticalAnchor;
builder.MoveTo(shape.FirstParagraph);
builder.Write("Hello world!");
// Вертикальное выравнивание текста внутри текстовых полей доступно начиная с Microsoft Word 2007.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");
Показывает, как задать спецификацию соответствия OOXML для сохраненного документа.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Если мы настроим параметры совместимости для соответствия Microsoft Word 2003,
// вставка изображения определит его форму с помощью VML.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2003);
builder.InsertImage(ImageDir + "Transparent background logo.png");
Assert.AreEqual(ShapeMarkupLanguage.Vml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);
// Стандарт OOXML "ISO/IEC 29500:2008" не поддерживает формы VML.
// Если мы установим свойство «Compliance» объекта SaveOptions на «OoxmlCompliance.Iso29500_2008_Strict»,
// любой документ, который мы сохраняем при передаче этого объекта, должен будет соответствовать этому стандарту.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
Compliance = OoxmlCompliance.Iso29500_2008_Strict,
SaveFormat = SaveFormat.Docx
};
doc.Save(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx", saveOptions);
// Наш сохраненный документ определяет форму с помощью DML для соответствия стандарту OOXML "ISO/IEC 29500:2008".
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");
Assert.AreEqual(ShapeMarkupLanguage.Dml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);
Показывает, как оптимизировать документ для разных версий 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);
}
Смотрите также
- class Document
- property CompatibilityOptions
- пространство имен Aspose.Words.Settings
- сборка Aspose.Words