Document

Document class

Representa un documento de Word.

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

public class Document : DocumentBase

Constructores

NombreDescripción
Document()Crea un documento de Word en blanco.
Document(Stream)Abre un documento existente desde una secuencia. Detecta automáticamente el formato del archivo.
Document(string)Abre un documento existente desde un archivo. Detecta automáticamente el formato del archivo.
Document(Stream, LoadOptions)Abre un documento existente desde una secuencia. Permite especificar opciones adicionales, como una contraseña de cifrado.
Document(string, LoadOptions)Abre un documento existente desde un archivo. Permite especificar opciones adicionales, como una contraseña de cifrado.

Propiedades

NombreDescripción
AttachedTemplate { get; set; }Obtiene o establece la ruta completa de la plantilla adjunta al documento.
AutomaticallyUpdateStyles { get; set; }Obtiene o establece un indicador que indica si los estilos del documento se actualizan para coincidir con los estilos de la plantilla adjunta cada vez que se abre el documento en MS Word.
BackgroundShape { get; set; }Obtiene o establece la forma del fondo del documento. Puede sernulo .
Bibliography { get; }Obtiene elBibliographyobjeto que representa la lista de fuentes disponibles en el documento.
BuiltInDocumentProperties { get; }Devuelve una colección que representa todas las propiedades de documento integradas del documento.
CompatibilityOptions { get; }Proporciona acceso a las opciones de compatibilidad de documentos (es decir, las preferencias del usuario ingresadas en elCompatibilidad Pestaña de laOpcionesdiálogo en Word).
Compliance { get; }Obtiene la versión de conformidad con OOXML determinada a partir del contenido del documento cargado. Solo tiene sentido para documentos OOXML.
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomDocumentProperties { get; }Devuelve una colección que representa todas las propiedades de documento personalizadas del documento.
CustomNodeId { get; set; }Especifica un identificador de nodo personalizado.
CustomXmlParts { get; set; }Obtiene o establece la colección de partes de almacenamiento de datos XML personalizadas.
DefaultTabStop { get; set; }Obtiene o establece el intervalo (en puntos) entre las tabulaciones predeterminadas.
DigitalSignatures { get; }Obtiene la colección de firmas digitales para este documento y sus resultados de validación.
override Document { get; }Obtiene esta instancia.
EndnoteOptions { get; }Proporciona opciones que controlan la numeración y la posición de las notas finales en este documento.
FieldOptions { get; }Obtiene unFieldOptions objeto que representa opciones para controlar el manejo de campos en el documento.
FirstChild { get; }Obtiene el primer hijo del nodo.
FirstSection { get; }Obtiene la primera sección del documento.
FontInfos { get; }Proporciona acceso a las propiedades de las fuentes utilizadas en este documento.
FontSettings { get; set; }Obtiene o establece la configuración de fuente del documento.
FootnoteOptions { get; }Proporciona opciones que controlan la numeración y la posición de las notas al pie en este documento.
FootnoteSeparators { get; }Proporciona acceso a los separadores de notas al pie/notas finales definidos en el documento.
Frameset { get; }Devuelve unFrameset instancia si este documento representa una página de marcos.
GlossaryDocument { get; set; }Obtiene o establece el documento de glosario dentro de este documento o plantilla. Un documento de glosario es un almacenamiento para las entradas de Autotexto, Autocorrección y Bloques de creación definidas en un documento.
GrammarChecked { get; set; }Devuelveverdadero Si el documento ha sido revisado gramaticalmente.
HasChildNodes { get; }Devuelveverdadero si este nodo tiene nodos secundarios.
HasMacros { get; }Devuelveverdadero si el documento tiene un proyecto VBA (macros).
HasRevisions { get; }Devuelveverdadero si el documento tiene algún cambio registrado.
HyphenationOptions { get; }Proporciona acceso a las opciones de separación de palabras del documento.
IncludeTextboxesFootnotesEndnotesInStat { get; set; }Especifica si se deben incluir cuadros de texto, notas al pie y notas finales en las estadísticas de recuento de palabras.
override IsComposite { get; }Devuelveverdadero ya que este nodo puede tener nodos secundarios.
JustificationMode { get; set; }Obtiene o establece el ajuste del espaciado de caracteres de un documento.
LastChild { get; }Obtiene el último hijo del nodo.
LastSection { get; }Obtiene la última sección del documento.
LayoutOptions { get; }Obtiene unLayoutOptions objeto que representa opciones para controlar el proceso de diseño de este documento.
Lists { get; }Proporciona acceso al formato de lista utilizado en el documento.
MailMerge { get; }Devuelve unMailMerge objeto que representa la funcionalidad de combinación de correspondencia para el documento.
MailMergeSettings { get; set; }Obtiene o establece el objeto que contiene toda la información de combinación de correspondencia de un documento.
NextSibling { get; }Obtiene el nodo inmediatamente siguiente a este nodo.
NodeChangingCallback { get; set; }Se llama cuando se inserta o elimina un nodo en el documento.
override NodeType { get; }DevuelveDocument .
OriginalFileName { get; }Obtiene el nombre del archivo original del documento.
OriginalLoadFormat { get; }Obtiene el formato del documento original que se cargó en este objeto.
PackageCustomParts { get; set; }Obtiene o establece la colección de partes personalizadas (contenido arbitrario) que están vinculadas al paquete OOXML mediante “relaciones desconocidas”.
PageColor { get; set; }Obtiene o establece el color de página del documento. Esta propiedad es una versión más simple deBackgroundShape .
PageCount { get; }Obtiene el número de páginas del documento calculado por la operación de diseño de página más reciente.
ParentNode { get; }Obtiene el padre inmediato de este nodo.
PreviousSibling { get; }Obtiene el nodo inmediatamente anterior a este nodo.
ProtectionType { get; }Obtiene el tipo de protección del documento actualmente activo.
PunctuationKerning { get; set; }Especifica si el kerning se aplica tanto al texto latino como a la puntuación.
Range { get; }Devuelve unRangeobjeto que representa la porción de un documento que está contenida en este nodo.
RemovePersonalInformation { get; set; }Obtiene o establece un indicador que indica que Microsoft Word eliminará toda la información del usuario de los comentarios, revisiones y propiedades del documento al guardar el documento.
ResourceLoadingCallback { get; set; }Permite controlar cómo se cargan los recursos externos.
Revisions { get; }Obtiene una colección de revisiones (cambios rastreados) que existen en este documento.
RevisionsView { get; set; }Obtiene o establece un valor que indica si se debe trabajar con la versión original o revisada de un documento.
Sections { get; }Devuelve una colección que representa todas las secciones del documento.
ShadeFormData { get; set; }Especifica si se debe activar el sombreado gris en los campos de formulario.
ShowGrammaticalErrors { get; set; }Especifica si se deben mostrar errores gramaticales en este documento.
ShowSpellingErrors { get; set; }Especifica si se deben mostrar errores ortográficos en este documento.
SpellingChecked { get; set; }Devuelveverdadero Si el documento ha sido revisado por ortografía.
Styles { get; }Devuelve una colección de estilos definidos en el documento.
Theme { get; }Obtiene elTheme objeto para este documento.
TrackRevisions { get; set; }Verdadero si se rastrean los cambios cuando se edita este documento en Microsoft Word.
Variables { get; }Devuelve la colección de variables agregadas a un documento o plantilla.
VbaProject { get; set; }Obtiene o establece unVbaProject .
VersionsCount { get; }Obtiene el número de versiones del documento que se almacenaron en el documento DOC.
ViewOptions { get; }Proporciona opciones para controlar cómo se muestra el documento en Microsoft Word.
WarningCallback { get; set; }Se llama durante varios procedimientos de procesamiento de documentos cuando se detecta un problema que podría resultar en pérdida de fidelidad de datos o formato.
Watermark { get; }Proporciona acceso a la marca de agua del documento.
WebExtensionTaskPanes { get; }Devuelve una colección que representa una lista de complementos del panel de tareas.
WriteProtection { get; }Proporciona acceso a las opciones de protección contra escritura del documento.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
AcceptAllRevisions()Acepta todos los cambios rastreados en el documento.
override AcceptEnd(DocumentVisitor)Acepta que un visitante visite el final del documento.
override AcceptStart(DocumentVisitor)Acepta un visitante por visitar el inicio del documento.
AppendChild<T>(T)Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
AppendDocument(Document, ImportFormatMode)Agrega el documento especificado al final de este documento.
AppendDocument(Document, ImportFormatModeImportFormatOptions)Agrega el documento especificado al final de este documento.
Cleanup()Limpia los estilos y listas no utilizados del documento.
Cleanup(CleanupOptions)Limpia los estilos y listas no utilizados del documento según los datos proporcionados.CleanupOptions .
Clone()Realiza una copia profunda delDocument .
Clone(bool)Crea un duplicado del nodo.
Compare(Document, string, DateTime)Compara este documento con otro documento produciendo cambios como número de revisiones de edición y formatoRevision .
Compare(Document, string, DateTime, CompareOptions)Compara este documento con otro documento produciendo cambios como una serie de revisiones de edición y formato.Revision . Permite especificar opciones de comparación utilizandoCompareOptions .
CopyStylesFromTemplate(Document)Copia estilos de la plantilla especificada a un documento.
CopyStylesFromTemplate(string)Copia estilos de la plantilla especificada a un documento.
CreateNavigator()Crea un navegador que puede utilizarse para recorrer y leer nodos.
EnsureMinimum()Si el documento no contiene secciones, crea una sección con un párrafo.
ExpandTableStylesToDirectFormatting()Convierte el formato especificado en los estilos de tabla en formato directo en las tablas del documento.
ExtractPages(int, int)Devuelve elDocument objeto que representa un rango específico de páginas.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer ancestro del tipo de objeto especificado.
GetChild(NodeType, int, bool)Devuelve un nodo secundario N que coincide con el tipo especificado.
GetChildNodes(NodeType, bool)Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado.
GetEnumerator()Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo.
GetPageInfo(int)Obtiene el tamaño de la página, la orientación y otra información sobre una página que podría ser útil para imprimir o renderizar.
override GetText()Obtiene el texto de este nodo y de todos sus hijos.
ImportNode(Node, bool)Importa un nodo de otro documento al documento actual.
ImportNode(Node, bool, ImportFormatMode)Importa un nodo de otro documento al documento actual con una opción para controlar el formato.
IndexOf(Node)Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios.
InsertAfter<T>(T, Node)Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore<T>(T, Node)Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
JoinRunsWithSameFormatting()Une ejecuciones con el mismo formato en todos los párrafos del documento.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden.
NormalizeFieldTypes()Cambia los valores del tipo de campoFieldType deFieldStart ,FieldSeparator ,FieldEnd en todo el documento para que correspondan a los tipos de campo contenidos en los códigos de campo.
PrependChild<T>(T)Agrega el nodo especificado al comienzo de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo de recorrido del árbol de preorden.
Print()Imprime todo el documento en la impresora predeterminada.
Print(PrinterSettings)Imprime el documento según la configuración de impresora especificada, utilizando el controlador de impresión estándar (sin interfaz de usuario).
Print(string)Imprimir todo el documento en la impresora especificada, utilizando el controlador de impresión estándar (sin interfaz de usuario).
Print(PrinterSettings, string)Imprime el documento según la configuración de impresora especificada, utilizando el controlador de impresión estándar (sin interfaz de usuario) y un nombre de documento.
Protect(ProtectionType)Protege el documento de cambios sin cambiar la contraseña existente o asigna una contraseña aleatoria.
Protect(ProtectionType, string)Protege el documento contra cambios y opcionalmente establece una contraseña de protección.
Remove()Se elimina a sí mismo del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveBlankPages()Elimina páginas en blanco del documento.
RemoveChild<T>(T)Elimina el nodo secundario especificado.
RemoveExternalSchemaReferences()Elimina las referencias de esquema XML externas de este documento.
RemoveMacros()Elimina todas las macros (del proyecto VBA), así como las barras de herramientas y las personalizaciones de comandos del documento.
RemoveSmartTags()Elimina todoSmartTag nodos descendientes del nodo actual.
RenderToScale(int, Graphics, float, float, float)Representa una página de documento en unGraphics objeto a una escala especificada.
RenderToSize(int, Graphics, float, float, float, float)Representa una página de documento en unGraphics objeto a un tamaño especificado.
Save(string)Guarda el documento en un archivo. Determina automáticamente el formato de guardado a partir de la extensión.
Save(Stream, SaveFormat)Guarda el documento en una secuencia usando el formato especificado.
Save(Stream, SaveOptions)Guarda el documento en una secuencia utilizando las opciones de guardado especificadas.
Save(string, SaveFormat)Guarda el documento en un archivo en el formato especificado.
Save(string, SaveOptions)Guarda el documento en un archivo utilizando las opciones de guardado especificadas.
Save(HttpResponse, string, ContentDispositionSaveOptions)Envía el documento al navegador del cliente.
SelectNodes(string)Selecciona una lista de nodos que coinciden con la expresión XPath.
SelectSingleNode(string)Selecciona el primerNode que coincide con la expresión XPath.
StartTrackRevisions(string)Comienza a marcar automáticamente todos los cambios posteriores que realice en el documento mediante programación como cambios de revisión.
StartTrackRevisions(string, DateTime)Comienza a marcar automáticamente todos los cambios posteriores que realice en el documento mediante programación como cambios de revisión.
StopTrackRevisions()Detiene el marcado automático de cambios en el documento como revisiones.
ToString(SaveFormat)Exporta el contenido del nodo en una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo en una cadena utilizando las opciones de guardado especificadas.
UnlinkFields()Desvincula campos en todo el documento.
Unprotect()Elimina la protección del documento independientemente de la contraseña.
Unprotect(string)Elimina la protección del documento si se especifica una contraseña correcta.
UpdateActualReferenceMarks()Actualiza elActualReferenceMark propiedad de todas las notas al pie y notas finales del documento.
UpdateFields()Actualiza los valores de los campos en todo el documento.
UpdateListLabels()Actualiza las etiquetas de lista para todos los elementos de lista en el documento.
UpdatePageLayout()Reconstruye el diseño de página del documento.
UpdateThumbnail()ActualizacionesThumbnail del documento utilizando las opciones predeterminadas.
UpdateThumbnail(ThumbnailGeneratingOptions)ActualizacionesThumbnail del documento según las opciones especificadas.
UpdateWordCount()Actualiza las propiedades de recuento de palabras del documento.
UpdateWordCount(bool)Actualiza las propiedades de recuento de palabras del documento, actualiza opcionalmenteLines propiedad.

Observaciones

ElDocument es un objeto central en la biblioteca Aspose.Words.

Para cargar un documento existente en cualquiera de losLoadFormat formatos, pase un nombre de archivo o una secuencia a uno de losDocument Constructores. Para crear un documento en blanco, llame al constructor sin parámetros.

Utilice una de las sobrecargas del método Save para guardar el documento en cualquiera de los SaveFormat formatos.

Para dibujar páginas de un documento directamente en unGráficos objeto use RenderToScale oRenderToSize método.

Para imprimir el documento, utilice uno de losPrint métodos.

MailMergees el motor de informes de Aspose.Words que permite rellenar informes diseñados en Microsoft Word con datos de varias fuentes de datos de forma rápida y sencilla. Los datos pueden ser de un DataSet, DataTable, DataView, IDataReader o una matriz de valores.Combinar correspondencia Revisará los registros encontrados en la fuente de datos y los insertará en campos de combinación de correspondencia en el documento, haciéndolo crecer según sea necesario.

Document almacena información de todo el documento, comoStyles , BuiltInDocumentProperties ,CustomDocumentProperties , listas y macros. La mayoría de estos objetos son accesibles a través de las propiedades correspondientes de laDocument.

ElDocument es un nodo raíz de un árbol que contiene todos los demás nodos del documento. El árbol es un patrón de diseño compuesto y en muchos sentidos similar a XmlDocument. El contenido del documento se puede manipular libremente mediante programación:

  • Se puede acceder a los nodos del documento a través de colecciones tipificadas, por ejemploSections , ParagraphCollection etc.
  • Los nodos del documento se pueden seleccionar por su tipo de nodo usando GetChildNodes o utilizando una consulta XPath conSelectNodes oSelectSingleNode.
  • Los nodos de contenido se pueden agregar o eliminar desde cualquier parte del documento usando InsertBefore ,InsertAfter , RemoveChild y otros métodos proporcionados por la clase baseCompositeNode.
  • Los atributos de formato de cada nodo se pueden cambiar a través de las propiedades de ese nodo.

Considere usarDocumentBuilder que simplifica la tarea de crear programáticamente o completar el árbol del documento.

ElDocument sólo puede contenerSection objetos.

En Microsoft Word, un documento válido debe tener al menos una sección.

Ejemplos

Muestra cómo ejecutar una combinación de correspondencia con datos de una DataTable.

public void ExecuteDataTable()
{
    DataTable table = new DataTable("Test");
    table.Columns.Add("CustomerName");
    table.Columns.Add("Address");
    table.Rows.Add(new object[] { "Thomas Hardy", "120 Hanover Sq., London" });
    table.Rows.Add(new object[] { "Paolo Accorti", "Via Monte Bianco 34, Torino" });

    A continuación se muestran dos formas de utilizar una DataTable como fuente de datos para una combinación de correspondencia.
    // 1 - Utilice la tabla completa para la combinación de correspondencia para crear un documento de combinación de correspondencia de salida para cada fila de la tabla:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");

    // 2 - Utilice una fila de la tabla para crear un documento de combinación de correspondencia de salida:
    doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table.Rows[1]);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}

/// <summary>
/// Crea un documento fuente de combinación de correspondencia.
/// </summary>
private static Document CreateSourceDocExecuteDataTable()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" MERGEFIELD CustomerName ");
    builder.InsertParagraph();
    builder.InsertField(" MERGEFIELD Address ");

    return doc;
}

Ver también