CompatibilityOptions

CompatibilityOptions class

Innehåller kompatibilitetsalternativ (det vill säga användarinställningarna som anges påKompatibilitet fliken ialternativ dialogrutan i Microsoft Word).

För att lära dig mer, besökUpptäck filformat och kontrollera formatkompatibilitet dokumentationsartikel.

public class CompatibilityOptions

Egenskaper

namnBeskrivning
AdjustLineHeightInTable { get; set; }Lägg till dokumentrasterlinjeavstånd till linjer i tabellceller.
AlignTablesRowByRow { get; set; }Justera tabellrader oberoende.
AllowSpaceOfSameStyleInTable { get; set; }Tillåt kontextuellt avstånd mellan stycken i tabeller.
ApplyBreakingRules { get; set; }Använd äldre etiopiska och amhariska linjebrytande regler.
AutofitToFirstFixedWidthCell { get; set; }Tillåt tabellkolumner att överskrida önskade bredder på ingående celler.
AutoSpaceLikeWord95 { get; set; }Emulera Word 95 teckenavstånd i full bredd.
BalanceSingleByteDoubleByteWidth { get; set; }Balansera enkelbyte och dubbelbytetecken.
CachedColBalance { get; set; }Använd cachad styckeinformation för kolumnbalansering.
ConvMailMergeEsc { get; set; }Behandla omvänt snedstreck citatavgränsare som två citattecken.
DisableOpenTypeFontFormattingFeatures { get; set; }Anger att inaktivera OpenType teckensnittsformateringsfunktioner.
DisplayHangulFixedWidth { get; set; }Använd alltid fast bredd för Hangul-tecken.
DoNotAutofitConstrainedTables { get; set; }Anpassa inte tabeller automatiskt för att passa intill inslagna objekt.
DoNotBreakConstrainedForcedTable { get; set; }Bryt inte bordsrader runt flytande bord.
DoNotBreakWrappedTables { get; set; }Tillåt inte flytande bord att bryta över sidor.
DoNotExpandShiftReturn { get; set; }Rättfärdiga inte rader som slutar med mjuk radbrytning.
DoNotLeaveBackslashAlone { get; set; }Konvertera omvänt snedstreck till Yen-tecken när det anges.
DoNotSnapToGridInCell { get; set; }Fäst inte till dokumentrutnät i tabellceller med objekt.
DoNotSuppressIndentation { get; set; }Ignorera inte flytande objekt när du beräknar styckeindrag.
DoNotSuppressParagraphBorders { get; set; }Dämpa inte styckekanter bredvid ramar.
DoNotUseEastAsianBreakRules { get; set; }Komprimera inte komprimerbara tecken när du använder dokumentrutnät.
DoNotUseHTMLParagraphAutoSpacing { get; set; }Använd fast styckeavstånd för automatisk HTML-inställning.
DoNotUseIndentAsNumberingTabStop { get; set; }Ignorera hängande indrag när tabbstopp skapas efter numrering.
DoNotVertAlignCellWithSp { get; set; }Justera inte celler som innehåller flytande objekt vertikalt.
DoNotVertAlignInTxbx { get; set; }Ignorera vertikal justering i textrutor.
DoNotWrapTextWithPunct { get; set; }Tillåt inte hängande skiljetecken med teckenrutnät.
FootnoteLayoutLikeWW8 { get; set; }Emulera Word 6.x/95/97 Fotnotsplacering.
ForgetLastTabAlignment { get; set; }Ignorera bredden på sista tabbstopp vid justering av stycke om det inte är vänsterjusterat.
GrowAutofit { get; set; }Tillåt att tabeller automatiskt anpassas till sidmarginaler.
LayoutRawTableWidth { get; set; }Ignorera utrymme före tabell när du bestämmer om bordet ska lindas flytande objekt.
LayoutTableRowsApart { get; set; }Tillåt tabellrader att radbryta inline-objekt oberoende.
LineWrapLikeWord6 { get; set; }Emulera Word 6.0 Radbrytning för östasiatisk text.
MWSmallCaps { get; set; }Emulera Word 5.x för Macintosh Small Caps Formatting.
NoColumnBalance { get; set; }Balansera inte textkolumner inom ett avsnitt.
NoExtraLineSpacing { get; set; }Centrera inte innehåll på linjer med exakt linjehöjd.
NoLeading { get; set; }Lägg inte till inledande textrader.
NoSpaceRaiseLower { get; set; }Öka inte linjehöjden för höjd/sänkt text.
NoTabHangInd { get; set; }Skapa inte anpassat tabbstopp för hängande indrag.
OverrideTableStyleFontSizeAndJustification { get; set; }Anger hur formathierarkin för dokumentet utvärderas.
PrintBodyTextBeforeHeader { get; set; }Skriv ut brödtext före sidhuvud/sidfots innehåll.
PrintColBlack { get; set; }Skriv ut färger som svartvitt utan rastning.
SelectFldWithFirstOrLastChar { get; set; }Välj fält när första eller sista tecknet är valt.
ShapeLayoutLikeWW8 { get; set; }Emulera Word 97-text som lindas runt flytande objekt.
ShowBreaksInFrames { get; set; }Visa sida/kolumnbrytningar närvarande i ramar.
SpaceForUL { get; set; }Lägg till ytterligare utrymme under baslinjen för understruken östasiatisk text.
SpacingInWholePoints { get; set; }Expandera/komprimera endast text med hela punkter.
SplitPgBreakAndParaMark { get; set; }Flytta alltid styckemarkering till sida efter en sidbrytning.
SubFontBySize { get; set; }Öka prioritet för teckensnittsstorlek under teckensnittsersättning.
SuppressBottomSpacing { get; set; }Ignorera exakt radhöjd för sista raden på sidan.
SuppressSpacingAtTopOfPage { get; set; }Ignorera minsta linjehöjd för första raden på sidan.
SuppressSpBfAfterPgBrk { get; set; }Använd inte utrymme före på första raden efter ett sidavbrott.
SuppressTopSpacing { get; set; }Ignorera minsta och exakta linjehöjd för första raden på sidan.
SuppressTopSpacingWP { get; set; }Emulera WordPerfect 5.x radavstånd.
SwapBordersFacingPgs { get; set; }Byt styckekanter på udda sidor.
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; }Anger att byta insida och utsida för spegelindrag och relativ positionering.
TransparentMetafiles { get; set; }Anger att området bakom metafilbilder inte ska tomt.
TruncateFontHeightsLikeWP6 { get; set; }Emulera WordPerfect 6.x Font Height Calculation.
UICompat97To2003 { get; set; }True to inaktivera UI-funktionalitet som inte är kompatibel med Word97-2003. Standardvärdet ärfalsk .
UlTrailSpace { get; set; }Stryk under alla efterföljande blanksteg.
UnderlineTabInNumList { get; set; }Understryka följande tecken efter numrering.
UseAltKinsokuLineBreakRules { get; set; }Använd alternativ uppsättning östasiatiska linjebrytningsregler.
UseAnsiKerningPairs { get; set; }Använd ANSI Kerning-par från teckensnitt.
UseFELayout { get; set; }Förbigå inte östasiatisk/komplex skriptlayoutkod.
UseNormalStyleForList { get; set; }Tillämpa inte liststyckeformat automatiskt på punkt-/numrerad text.
UsePrinterMetrics { get; set; }Använd skrivarstatistik för att visa dokument.
UseSingleBorderforContiguousCells { get; set; }Använd förenklade regler för tabellgränskonflikter.
UseWord2002TableStyleRules { get; set; }Emulera Word 2002 tabellstilsregler.
UseWord2010TableStyleRules { get; set; }Anger att använda Word2010-tabellstilsregler.
UseWord97LineBreakRules { get; set; }Emulera Word 97 East Asian Line Breaking.
WPJustification { get; set; }Emulate WordPerfect 6.x Paragraph Justification.
WPSpaceWidth { get; set; }Anger om bredden på ett mellanslag ska ställas in som görs i WordPerfect 5.x.
WrapTrailSpaces { get; set; }Line Wrap Trailing Spaces.

Metoder

namnBeskrivning
OptimizeFor(MsWordVersion)Tillåter att optimera dokumentinnehållet såväl som standard Aspose.Words-beteende för en viss version av MS Word.

Exempel

Visar hur man vertikalt justerar textinnehållet i en textruta.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertShape(ShapeType.TextBox, 200, 200);

// Ställ in egenskapen "VerticalAnchor" till "TextBoxAnchor.Top" till
// justera texten i denna textruta med formens övre sida.
// Ställ in egenskapen "VerticalAnchor" till "TextBoxAnchor.Middle" till
// justera texten i denna textruta till mitten av formen.
// Ställ in egenskapen "VerticalAnchor" till "TextBoxAnchor.Bottom" till
// justera texten i den här textrutan till botten av formen.
shape.TextBox.VerticalAnchor = verticalAnchor;

builder.MoveTo(shape.FirstParagraph);
builder.Write("Hello world!");

// Den vertikala justeringen av text inuti textrutor är tillgänglig från Microsoft Word 2007 och framåt.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");

Visar hur man ställer in en OOXML-efterlevnadsspecifikation för ett sparat dokument att följa.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Om vi konfigurerar kompatibilitetsalternativ för att följa Microsoft Word 2003,
// att infoga en bild kommer att definiera dess form med 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-standarden "ISO/IEC 29500:2008" stöder inte VML-former.
// Om vi ställer in egenskapen "Compliance" för SaveOptions-objektet till "OoxmlCompliance.Iso29500_2008_Strict",
 // alla dokument vi sparar när vi skickar detta objekt måste följa den standarden.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

doc.Save(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx", saveOptions);

// Vårt sparade dokument definierar formen med DML för att följa OOXML-standarden "ISO/IEC 29500:2008".
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

Assert.AreEqual(ShapeMarkupLanguage.Dml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

Visar hur man optimerar dokumentet för olika versioner av Microsoft Word.

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

    // Detta objekt innehåller en omfattande lista med flaggor som är unika för varje dokument
    // som tillåter oss att underlätta bakåtkompatibilitet med äldre versioner av Microsoft Word.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // Skriv ut standardinställningarna för ett tomt dokument.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // Vi kan komma åt dessa inställningar i Microsoft Word via "File" -> "Alternativ" -> "Avancerat" -> "Kompatibilitetsalternativ för...".
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // Vi kan använda OptimizeFor-metoden för att säkerställa optimal kompatibilitet med en specifik Microsoft Word-version.
    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>
/// Grupperar alla flaggor i ett dokuments kompatibilitetsalternativobjekt efter tillstånd och skrivs sedan ut varje grupp.
/// </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}");
        }
    }
}

Se även