Compatibility

Compatibility enumeration

يحدد أسماء خيارات التوافق.

public enum Compatibility

قيم

اسمقيمةوصف
NoTabHangInd0
NoSpaceRaiseLower1
SuppressSpBfAfterPgBrk2
WrapTrailSpaces3
PrintColBlack4
NoColumnBalance5
ConvMailMergeEsc6
SuppressTopSpacing7
UseSingleBorderforContiguousCells8
TransparentMetafiles9
ShowBreaksInFrames10
SwapBordersOddFacingPgs11
DoNotLeaveBackslashAlone12
DoNotExpandOnShiftReturn13
UlTrailSpace14
BalanceSingleByteDoubleByteWidth15
SuppressTopSpacingAtTopOfPage16
SpacingInWholePoints17
PrintBodyTextBeforeHeader18
NoLeading19
SpaceForUL20
MWSmallCaps21
SuppressTopLineSpacingWP22
TruncateFontHeightLikeWP623
SubFontBySize24
LineWrapLikeWord625
DoNotSuppressParagraphBorder26
NoExtraLineSpacing27
SuppressBottomSpacing28
WPSpaceWidth29
WPJustification30
UsePrinterMetrics31
ShapeLayoutLikeWW832
FootnoteLayoutLikeWW833
DoNotUseHtmlParagraphAutoSpacing34
AdjustLineHeightInTable35
ForgetLastTabAlignment36
AutoSpaceLikeWord9537
AlignTableRowByRow38
LayoutRawTableWidth39
LayoutTableRowsApart40
UseWord97LineBreakRules41
DoNotBreakWrappedTables42
doNotSnapToGridInCell43
SelectFldWithFirstOrLastChar44
ApplyBreakingRules45
DoNotWrapTextWithPunct46
DoNotUseEastAsianBreakRules47
UseWord2002TableStyleRules48
GrowAutofit49
UseNormalStyleForList50
DoNotUseIndentAsNumberingTabStop51
UseAltKinsokuLineBreakRules52
AllowSpaceOfSameStyleInTable53
DoNotSuppressIndentation54
DoNotAutofitConstrainedTables55
AutofitToFirstFixedWidthCell56
UnderlineTabInNumList57
DisplayHangulFixedWidth58
SplitPgBreakAndParaMark59
DoNotVertAlignCellWithSp60
DoNotBreakConstrainedForcedTable61
DoNotVertAlignInTxbx62
UseAnsiKerningPairs63
CachedColBalance64
UseFELayout65
UICompat97To200366
OverrideTableStyleFontSizeAndJustification67
DisableOpenTypeFontFormattingFeatures68
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning69
UseWord2010TableStyleRules70

أمثلة

يوضح كيفية تحسين المستند لإصدارات مختلفة من 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)
{
    for (int i = 1; i >= 0; i--)
    {
        Console.WriteLine(Convert.ToBoolean(i) ? "\tEnabled options:" : "\tDisabled options:");
        SortedSet<string> optionNames = new SortedSet<string>();

        foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(options))
        {
            if (descriptor.PropertyType == Type.GetType("System.Boolean") && i == Convert.ToInt32(descriptor.GetValue(options)))
            {
                optionNames.Add(descriptor.Name);
            }
        }

        foreach (string s in optionNames)
        {
            Console.WriteLine($"\t\t{s}");
        }
    }
}

أنظر أيضا