CompareOptions

CompareOptions class

Permite elegir opciones adicionales para la operación de comparación de documentos.

Para obtener más información, visite elComparar documentos Artículo de documentación.

public class CompareOptions

Constructores

NombreDescripción
CompareOptions()Constructor predeterminado

Propiedades

NombreDescripción
AdvancedOptions { get; }Especifica opciones de comparación avanzadas que pueden ayudar a producir una salida de comparación más precisa.
CompareMoves { get; set; }Especifica si se deben comparar las diferencias entre los dos documentos.
Granularity { get; set; }Especifica si los cambios se rastrean por carácter o por palabra.
IgnoreCaseChanges { get; set; }Verdadero indica que la comparación de documentos no distingue entre mayúsculas y minúsculas.
IgnoreComments { get; set; }Especifica si se deben comparar las diferencias en los comentarios.
IgnoreFields { get; set; }Especifica si se deben comparar las diferencias en los campos.
IgnoreFootnotes { get; set; }Especifica si se deben comparar las diferencias en las notas al pie y las notas finales.
IgnoreFormatting { get; set; }Verdadero indica que se ignora el formato.
IgnoreHeadersAndFooters { get; set; }True indica que se ignora el contenido de los encabezados y pies de página.
IgnoreTables { get; set; }Especifica si se deben comparar las diferencias en los datos contenidos en las tablas.
IgnoreTextboxes { get; set; }Especifica si se deben comparar las diferencias en los datos contenidos en los cuadros de texto.
Target { get; set; }Especifica qué documento se utilizará como destino durante la comparación.

Ejemplos

Muestra cómo filtrar tipos específicos de elementos de documento al realizar una comparación.

// Crea el documento original y rellénalo con varios tipos de elementos.
Document docOriginal = new Document();
DocumentBuilder builder = new DocumentBuilder(docOriginal);

// Texto de párrafo referenciado con una nota final:
builder.Writeln("Hello world! This is the first paragraph.");
builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

// Mesa:
builder.StartTable();
builder.InsertCell();
builder.Write("Original cell 1 text");
builder.InsertCell();
builder.Write("Original cell 2 text");
builder.EndTable();

//Cuadro de texto:
Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
builder.MoveTo(textBox.FirstParagraph);
builder.Write("Original textbox contents");

// Campo FECHA:
builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
builder.InsertField(" DATE ");

// Comentario:
Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
newComment.SetText("Original comment.");
builder.CurrentParagraph.AppendChild(newComment);

// Encabezado:
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Writeln("Original header contents.");

// Cree un clon de nuestro documento y realice una edición rápida en cada uno de los elementos del documento clonado.
Document docEdited = (Document)docOriginal.Clone(true);
Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
    "Edited header contents.";

// La comparación de documentos crea una revisión para cada edición en el documento editado.
// Un objeto CompareOptions tiene una serie de indicadores que pueden suprimir revisiones
// en cada tipo respectivo de elemento, ignorando efectivamente su cambio.
CompareOptions compareOptions = new CompareOptions
{
    CompareMoves = false,
    IgnoreFormatting = false,
    IgnoreCaseChanges = false,
    IgnoreComments = false,
    IgnoreTables = false,
    IgnoreFields = false,
    IgnoreFootnotes = false,
    IgnoreTextboxes = false,
    IgnoreHeadersAndFooters = false,
    Target = ComparisonTargetType.New
};

docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Ver también