CompatibilityOptions

CompatibilityOptions class

Contiene le opzioni di compatibilità (ovvero le preferenze dell’utente immesse nelCompatibilità scheda delOpzioni dialogo in Microsoft Word).

Per saperne di più, visita ilRileva il formato del file e controlla la compatibilità del formato articolo di documentazione.

public class CompatibilityOptions

Proprietà

NomeDescrizione
AdjustLineHeightInTable { get; set; }Aggiungi la spaziatura della griglia del documento alle linee nelle celle della tabella.
AlignTablesRowByRow { get; set; }Allinea le righe della tabella in modo indipendente.
AllowSpaceOfSameStyleInTable { get; set; }Consenti la spaziatura contestuale dei paragrafi nelle tabelle.
ApplyBreakingRules { get; set; }Usa le regole legacy per interrompere le righe in etiopico e amarico.
AutofitToFirstFixedWidthCell { get; set; }Consenti alle colonne della tabella di superare le larghezze preferite delle celle costituenti.
AutoSpaceLikeWord95 { get; set; }Emula la spaziatura dei caratteri a larghezza intera di Word 95.
BalanceSingleByteDoubleByteWidth { get; set; }Bilanciare caratteri a byte singolo e doppio byte.
CachedColBalance { get; set; }Utilizza le informazioni del paragrafo memorizzate nella cache per il bilanciamento delle colonne.
ConvMailMergeEsc { get; set; }Tratta il delimitatore di virgolette con barra rovesciata come due virgolette.
DisableOpenTypeFontFormattingFeatures { get; set; }Specifica di disabilitare le funzionalità di formattazione dei font OpenType.
DisplayHangulFixedWidth { get; set; }Usa sempre la larghezza fissa per i caratteri Hangul.
DoNotAutofitConstrainedTables { get; set; }Non adattare automaticamente le tabelle per adattarle agli oggetti inseriti.
DoNotBreakConstrainedForcedTable { get; set; }Non dividere le righe della tabella attorno alle tabelle mobili.
DoNotBreakWrappedTables { get; set; }Non consentire alle tabelle mobili di dividersi tra le pagine.
DoNotExpandShiftReturn { get; set; }Non giustificare le righe che terminano con un’interruzione di riga dolce.
DoNotLeaveBackslashAlone { get; set; }Converti la barra rovesciata nel simbolo dello yen quando inserito.
DoNotSnapToGridInCell { get; set; }Non agganciare alla griglia del documento nelle celle della tabella con oggetti.
DoNotSuppressIndentation { get; set; }Non ignorare gli oggetti mobili quando si calcola il rientro del paragrafo.
DoNotSuppressParagraphBorders { get; set; }Non sopprimere i bordi dei paragrafi accanto alle cornici.
DoNotUseEastAsianBreakRules { get; set; }Non comprimere i caratteri comprimibili quando si utilizza la griglia del documento.
DoNotUseHTMLParagraphAutoSpacing { get; set; }Utilizza la spaziatura fissa dei paragrafi per l’impostazione automatica HTML.
DoNotUseIndentAsNumberingTabStop { get; set; }Ignora rientro sporgente quando si crea una tabulazione dopo la numerazione.
DoNotVertAlignCellWithSp { get; set; }Non allineare verticalmente le celle contenenti oggetti mobili.
DoNotVertAlignInTxbx { get; set; }Ignora l’allineamento verticale nelle caselle di testo.
DoNotWrapTextWithPunct { get; set; }Non consentire punteggiatura sospesa con griglia di caratteri.
FootnoteLayoutLikeWW8 { get; set; }Emula il posizionamento delle note a piè di pagina di Word 6.x/95/97.
ForgetLastTabAlignment { get; set; }Ignora la larghezza dell’ultima tabulazione quando allinei il paragrafo se non è allineato a sinistra.
GrowAutofit { get; set; }Consenti alle tabelle di adattarsi automaticamente ai margini della pagina.
LayoutRawTableWidth { get; set; }Ignora lo spazio prima della tabella quando decidi se la tabella deve racchiudere l’oggetto mobile.
LayoutTableRowsApart { get; set; }Consenti alle righe della tabella di racchiudere gli oggetti in linea in modo indipendente.
LineWrapLikeWord6 { get; set; }Emula l’interruzione di riga di Word 6.0 per il testo dell’Asia orientale.
MWSmallCaps { get; set; }Emula Word 5.x per la formattazione in maiuscoletto del Macintosh.
NoColumnBalance { get; set; }Non bilanciare le colonne di testo all’interno di una sezione.
NoExtraLineSpacing { get; set; }Non centrare il contenuto sulle righe con altezza esatta.
NoLeading { get; set; }Non aggiungere l’interlinea tra le righe di testo.
NoSpaceRaiseLower { get; set; }Non aumentare l’altezza della riga per il testo in rilievo/abbassato.
NoTabHangInd { get; set; }Non creare tabulazioni personalizzate per il rientro sporgente.
OverrideTableStyleFontSizeAndJustification { get; set; }Specifica come viene valutata la gerarchia di stile del documento.
PrintBodyTextBeforeHeader { get; set; }Stampa il corpo del testo prima del contenuto dell’intestazione/piè di pagina.
PrintColBlack { get; set; }Stampa i colori in bianco e nero senza dithering.
SelectFldWithFirstOrLastChar { get; set; }Seleziona il campo quando viene selezionato il primo o l’ultimo carattere.
ShapeLayoutLikeWW8 { get; set; }Emula il testo di Word 97 che avvolge gli oggetti mobili.
ShowBreaksInFrames { get; set; }Visualizza le interruzioni di pagina/colonna presenti nei frame.
SpaceForUL { get; set; }Aggiungi spazio aggiuntivo sotto la linea di base per il testo sottolineato dell’Asia orientale.
SpacingInWholePoints { get; set; }Espandi/Condensa il testo solo per punti interi.
SplitPgBreakAndParaMark { get; set; }Sposta sempre il segno di paragrafo a pagina dopo un’interruzione di pagina.
SubFontBySize { get; set; }Aumenta la priorità della dimensione del carattere durante la sostituzione del carattere.
SuppressBottomSpacing { get; set; }Ignora l’altezza esatta della riga per l’ultima riga della pagina.
SuppressSpacingAtTopOfPage { get; set; }Ignora l’altezza minima della riga per la prima riga della pagina.
SuppressSpBfAfterPgBrk { get; set; }Non usare spazi prima della prima riga dopo un’interruzione di pagina.
SuppressTopSpacing { get; set; }Ignora l’altezza minima ed esatta della prima riga della pagina.
SuppressTopSpacingWP { get; set; }Emula l’interlinea di WordPerfect 5.x.
SwapBordersFacingPgs { get; set; }Scambia i bordi dei paragrafi nelle pagine dispari.
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; }Specifica di scambiare l’interno e l’esterno per i rientri speculari e il posizionamento relativo.
TransparentMetafiles { get; set; }Specifica di non oscurare l’area dietro le immagini metafile.
TruncateFontHeightsLikeWP6 { get; set; }Emula il calcolo dell’altezza del carattere di WordPerfect 6.x.
UICompat97To2003 { get; set; }Vero per disabilitare la funzionalità dell’interfaccia utente che non è compatibile con Word97-2003. Il valore predefinito èfalso .
UlTrailSpace { get; set; }Sottolinea tutti gli spazi finali.
UnderlineTabInNumList { get; set; }Sottolinea il carattere seguente che segue la numerazione.
UseAltKinsokuLineBreakRules { get; set; }Usa un set alternativo di regole di interruzione di riga dell’Asia orientale.
UseAnsiKerningPairs { get; set; }Utilizza coppie di kerning ANSI dai font.
UseFELayout { get; set; }Non ignorare il codice di layout in caratteri asiatici/complessi.
UseNormalStyleForList { get; set; }Non applicare automaticamente lo stile paragrafo elenco al testo puntato/numerato.
UsePrinterMetrics { get; set; }Utilizza le metriche della stampante per visualizzare i documenti.
UseSingleBorderforContiguousCells { get; set; }Usa regole semplificate per i conflitti sui bordi delle tabelle.
UseWord2002TableStyleRules { get; set; }Emula le regole di stile della tabella di Word 2002.
UseWord2010TableStyleRules { get; set; }Specifica di utilizzare le regole di stile della tabella di Word2010.
UseWord97LineBreakRules { get; set; }Emula l’interruzione di riga dell’Asia orientale di Word 97.
WPJustification { get; set; }Emula la giustificazione del paragrafo di WordPerfect 6.x.
WPSpaceWidth { get; set; }Specifica se impostare la larghezza di uno spazio come avviene in WordPerfect 5.x.
WrapTrailSpaces { get; set; }A capo automatico con spazi finali.

Metodi

NomeDescrizione
OptimizeFor(MsWordVersion)Consente di ottimizzare il contenuto del documento e il comportamento predefinito di Aspose.Words per una particolare versione di MS Word.

Esempi

Mostra come allineare verticalmente il contenuto di testo di una casella di testo.

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

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

// Imposta la proprietà "VerticalAnchor" su "TextBoxAnchor.Top" per
// allinea il testo in questa casella di testo con il lato superiore della forma.
// Imposta la proprietà "VerticalAnchor" su "TextBoxAnchor.Middle" per
// allinea il testo in questa casella di testo al centro della forma.
// Imposta la proprietà "VerticalAnchor" su "TextBoxAnchor.Bottom" per
// allinea il testo in questa casella di testo alla parte inferiore della forma.
shape.TextBox.VerticalAnchor = verticalAnchor;

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

// L'allineamento verticale del testo all'interno delle caselle di testo è disponibile a partire da Microsoft Word 2007.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");

Mostra come impostare una specifica di conformità OOXML a cui deve aderire un documento salvato.

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

// Se configuriamo le opzioni di compatibilità per essere conformi a Microsoft Word 2003,
// l'inserimento di un'immagine ne definirà la forma mediante 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);

// Lo standard OOXML "ISO/IEC 29500:2008" non supporta le forme VML.
// Se impostiamo la proprietà "Compliance" dell'oggetto SaveOptions su "OoxmlCompliance.Iso29500_2008_Strict",
 // qualsiasi documento salvato durante il passaggio di questo oggetto dovrà seguire tale standard.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

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

// Il nostro documento salvato definisce la forma utilizzando DML per aderire allo standard OOXML "ISO/IEC 29500:2008".
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

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

Mostra come ottimizzare il documento per diverse versioni di Microsoft Word.

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

    // Questo oggetto contiene un elenco esteso di flag univoci per ciascun documento
    // che ci consentono di facilitare la compatibilità con le versioni precedenti di Microsoft Word.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // Stampa le impostazioni predefinite per un documento vuoto.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // Possiamo accedere a queste impostazioni in Microsoft Word tramite "File" -> "Opzioni" -> "Avanzate" -> "Opzioni di compatibilità per...".
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // Possiamo utilizzare il metodo OptimizeFor per garantire la compatibilità ottimale con una versione specifica di 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>
/// Raggruppa tutti i flag nell'oggetto delle opzioni di compatibilità di un documento in base allo stato, quindi stampa ciascun gruppo.
/// </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);
}

Guarda anche