CompatibilityOptions

CompatibilityOptions class

Contiene opciones de compatibilidad (es decir, las preferencias de usuario ingresadas en elCompatibilidad pestaña delOpciones cuadro de diálogo en Microsoft Word).

Para obtener más información, visite elDetectar formato de archivo y comprobar la compatibilidad del formato artículo de documentación.

public class CompatibilityOptions

Propiedades

NombreDescripción
AdjustLineHeightInTable { get; set; }Agregar paso de línea de cuadrícula de documento a líneas en celdas de tabla.
AlignTablesRowByRow { get; set; }Alinear filas de tabla de forma independiente.
AllowSpaceOfSameStyleInTable { get; set; }Permitir espaciado contextual de párrafos en tablas.
ApplyBreakingRules { get; set; }Utilice reglas heredadas de ruptura de líneas etíopes y amáricas.
AutofitToFirstFixedWidthCell { get; set; }Permitir que las columnas de la tabla excedan los anchos preferidos de las celdas constituyentes.
AutoSpaceLikeWord95 { get; set; }Emular Word 95 con espacio entre caracteres de ancho completo.
BalanceSingleByteDoubleByteWidth { get; set; }Equilibrio de caracteres de un solo byte y de doble byte.
CachedColBalance { get; set; }Utilice información de párrafos en caché para equilibrar columnas.
ConvMailMergeEsc { get; set; }Trate el delimitador de comillas con barra invertida como dos comillas.
DisableOpenTypeFontFormattingFeatures { get; set; }Especifica que se deshabiliten las funciones de formato de fuente OpenType.
DisplayHangulFixedWidth { get; set; }Utilice siempre un ancho fijo para los caracteres Hangul.
DoNotAutofitConstrainedTables { get; set; }No ajuste automáticamente las tablas para que encajen junto a los objetos envueltos.
DoNotBreakConstrainedForcedTable { get; set; }No divida filas de tablas alrededor de tablas flotantes.
DoNotBreakWrappedTables { get; set; }No permita que las tablas flotantes se divida entre páginas.
DoNotExpandShiftReturn { get; set; }No justifique las líneas que terminan en un salto de línea suave.
DoNotLeaveBackslashAlone { get; set; }Convertir barra invertida al signo del yen cuando se ingresa.
DoNotSnapToGridInCell { get; set; }No ajustar a la cuadrícula del documento en celdas de tabla con objetos.
DoNotSuppressIndentation { get; set; }No ignore los objetos flotantes al calcular la sangría de párrafo.
DoNotSuppressParagraphBorders { get; set; }No suprimir los bordes de los párrafos junto a los marcos.
DoNotUseEastAsianBreakRules { get; set; }No comprima caracteres comprimibles cuando utilice la cuadrícula de documentos.
DoNotUseHTMLParagraphAutoSpacing { get; set; }Utilice espaciado de párrafo fijo para la configuración automática de HTML.
DoNotUseIndentAsNumberingTabStop { get; set; }Ignorar sangría francesa al crear tabulación después de la numeración.
DoNotVertAlignCellWithSp { get; set; }No alinear verticalmente celdas que contengan objetos flotantes.
DoNotVertAlignInTxbx { get; set; }Ignorar la alineación vertical en cuadros de texto.
DoNotWrapTextWithPunct { get; set; }No permitir puntuación colgante con cuadrícula de caracteres.
FootnoteLayoutLikeWW8 { get; set; }Emular ubicación de notas al pie de Word 6.x/95/97.
ForgetLastTabAlignment { get; set; }Ignore el ancho de la última tabulación al alinear el párrafo si no está alineado a la izquierda.
GrowAutofit { get; set; }Permitir que las tablas se ajusten automáticamente a los márgenes de la página.
LayoutRawTableWidth { get; set; }Ignore el espacio antes de la tabla al decidir si la tabla debe envolver el objeto flotante.
LayoutTableRowsApart { get; set; }Permitir que las filas de la tabla ajusten objetos en línea de forma independiente.
LineWrapLikeWord6 { get; set; }Emular ajuste de línea de Word 6.0 para texto de Asia oriental.
MWSmallCaps { get; set; }Emular Word 5.x para el formato de versalitas de Macintosh.
NoColumnBalance { get; set; }No equilibrar columnas de texto dentro de una sección.
NoExtraLineSpacing { get; set; }No centre el contenido en líneas con altura de línea exacta.
NoLeading { get; set; }No agregue interlineado entre líneas de texto.
NoSpaceRaiseLower { get; set; }No aumentar la altura de la línea para texto elevado/reducido.
NoTabHangInd { get; set; }No crear tabulación personalizada para sangría francesa.
OverrideTableStyleFontSizeAndJustification { get; set; }Especifica cómo se evalúa la jerarquía de estilos del documento.
PrintBodyTextBeforeHeader { get; set; }Imprimir el texto del cuerpo antes del contenido del encabezado/pie de página.
PrintColBlack { get; set; }Imprime colores en blanco y negro sin difuminado.
SelectFldWithFirstOrLastChar { get; set; }Seleccionar campo cuando se selecciona el primer o último carácter.
ShapeLayoutLikeWW8 { get; set; }Emular texto de Word 97 ajustado alrededor de objetos flotantes.
ShowBreaksInFrames { get; set; }Mostrar saltos de página/columna presentes en marcos.
SpaceForUL { get; set; }Agregue espacio adicional debajo de la línea base para texto subrayado de Asia oriental.
SpacingInWholePoints { get; set; }Sólo expandir/condensar texto en puntos enteros.
SplitPgBreakAndParaMark { get; set; }Siempre mueva la marca de párrafo a la página después de un salto de página.
SubFontBySize { get; set; }Aumentar la prioridad del tamaño de fuente durante la sustitución de fuentes.
SuppressBottomSpacing { get; set; }Ignorar la altura exacta de la línea para la última línea en la página.
SuppressSpacingAtTopOfPage { get; set; }Ignorar la altura mínima de línea para la primera línea en la página.
SuppressSpBfAfterPgBrk { get; set; }No utilice espacio antes en la primera línea después de un salto de página.
SuppressTopSpacing { get; set; }Ignorar la altura mínima y exacta de la línea para la primera línea en la página.
SuppressTopSpacingWP { get; set; }Emular el interlineado de WordPerfect 5.x.
SwapBordersFacingPgs { get; set; }Intercambiar bordes de párrafos en páginas impares.
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; }Especifica intercambiar el interior y el exterior para sangrías de espejo y posicionamiento relativo.
TransparentMetafiles { get; set; }Especifica que no se debe dejar en blanco el área detrás de las imágenes del metarchivo.
TruncateFontHeightsLikeWP6 { get; set; }Emular el cálculo de altura de fuente de WordPerfect 6.x.
UICompat97To2003 { get; set; }Verdadero para deshabilitar la funcionalidad de la interfaz de usuario que no es compatible con Word97-2003. El valor predeterminado esFALSO .
UlTrailSpace { get; set; }Subrayar todos los espacios finales.
UnderlineTabInNumList { get; set; }Subrayado Siguiente carácter Siguiente Numeración.
UseAltKinsokuLineBreakRules { get; set; }Utilice un conjunto alternativo de reglas de ruptura de línea del este de Asia.
UseAnsiKerningPairs { get; set; }Utilice pares de interletraje ANSI de fuentes.
UseFELayout { get; set; }No omitir el código de diseño de script complejo/de Asia oriental.
UseNormalStyleForList { get; set; }No aplicar automáticamente estilo de párrafo de lista a texto con viñetas/numerado.
UsePrinterMetrics { get; set; }Utilice métricas de impresora para mostrar documentos.
UseSingleBorderforContiguousCells { get; set; }Utilice reglas simplificadas para conflictos de bordes de tablas.
UseWord2002TableStyleRules { get; set; }Emular reglas de estilo de tabla de Word 2002.
UseWord2010TableStyleRules { get; set; }Especifica el uso de reglas de estilo de tabla de Word2010.
UseWord97LineBreakRules { get; set; }Emular Word 97 Salto de línea de Asia Oriental.
WPJustification { get; set; }Emular justificación de párrafo de WordPerfect 6.x.
WPSpaceWidth { get; set; }Especifica si se debe establecer el ancho de un espacio como se hace en WordPerfect 5.x.
WrapTrailSpaces { get; set; }Espacios finales de ajuste de línea.

Métodos

NombreDescripción
OptimizeFor(MsWordVersion)Permite optimizar el contenido del documento, así como el comportamiento predeterminado de Aspose.Words para versiones particulares de MS Word.

Ejemplos

Muestra cómo alinear verticalmente el contenido de texto de un cuadro de texto.

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

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

// Establece la propiedad "VerticalAnchor" en "TextBoxAnchor.Top" para
// alinea el texto en este cuadro de texto con el lado superior de la forma.
// Establece la propiedad "VerticalAnchor" en "TextBoxAnchor.Middle" para
// alinea el texto en este cuadro de texto con el centro de la forma.
// Establece la propiedad "VerticalAnchor" en "TextBoxAnchor.Bottom" para
// alinea el texto de este cuadro de texto con la parte inferior de la forma.
shape.TextBox.VerticalAnchor = verticalAnchor;

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

// La alineación vertical del texto dentro de los cuadros de texto está disponible desde Microsoft Word 2007 en adelante.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");

Muestra cómo establecer una especificación de cumplimiento de OOXML para que se adhiera a un documento guardado.

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

// Si configuramos opciones de compatibilidad para cumplir con Microsoft Word 2003,
// insertar una imagen definirá su forma usando 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);

// El estándar OOXML "ISO/IEC 29500:2008" no admite formas VML.
// Si configuramos la propiedad "Cumplimiento" del objeto SaveOptions en "OoxmlCompliance.Iso29500_2008_Strict",
 // cualquier documento que guardemos al pasar este objeto tendrá que seguir ese estándar.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

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

// Nuestro documento guardado define la forma usando DML para cumplir con el estándar OOXML "ISO/IEC 29500:2008".
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

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

Muestra cómo optimizar el documento para diferentes versiones de Microsoft Word.

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

    // Este objeto contiene una lista extensa de indicadores únicos para cada documento
    // que nos permiten facilitar la compatibilidad con versiones anteriores de Microsoft Word.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // Imprime la configuración predeterminada para un documento en blanco.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // Podemos acceder a estas configuraciones en Microsoft Word a través de "Archivo" -> "Opciones" -> "Avanzado" -> "Opciones de compatibilidad para...".
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // Podemos utilizar el método OptimizeFor para garantizar una compatibilidad óptima con una versión específica de 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>
/// Agrupa todas las banderas en el objeto de opciones de compatibilidad de un documento por estado, luego imprime cada grupo.
/// </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}");
        }
    }
}

Ver también