GlossaryDocument

GlossaryDocument class

Representa el elemento raíz de un documento de glosario dentro de un documento de Word. Un documento de glosario es un almacenamiento para entradas de Autotexto, Autocorrección y Bloques de creación.

Para obtener más información, visite elModelo de objetos de documento (DOM) de Aspose.Words Artículo de documentación.

public class GlossaryDocument : DocumentBase

Constructores

NombreDescripción
GlossaryDocument()Constructor predeterminado

Propiedades

NombreDescripción
BackgroundShape { get; set; }Obtiene o establece la forma del fondo del documento. Puede sernulo .
BuildingBlocks { get; }Devuelve una colección tipificada que representa todos los bloques de construcción en el documento de glosario.
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; }Especifica un identificador de nodo personalizado.
override Document { get; }Obtiene esta instancia.
FirstBuildingBlock { get; }Obtiene el primer bloque de construcción en el documento de glosario.
FirstChild { get; }Obtiene el primer hijo del nodo.
FontInfos { get; }Proporciona acceso a las propiedades de las fuentes utilizadas en este documento.
FootnoteSeparators { get; }Proporciona acceso a los separadores de notas al pie/notas finales definidos en el documento.
HasChildNodes { get; }Devuelveverdadero si este nodo tiene nodos secundarios.
override IsComposite { get; }Devuelveverdadero ya que este nodo puede tener nodos secundarios.
LastBuildingBlock { get; }Obtiene el último bloque de construcción en el documento del glosario.
LastChild { get; }Obtiene el último hijo del nodo.
Lists { get; }Proporciona acceso al formato de lista utilizado en el 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; }Devuelve elGlossaryDocument valor.
PageColor { get; set; }Obtiene o establece el color de página del documento. Esta propiedad es una versión más simple deBackgroundShape .
ParentNode { get; }Obtiene el padre inmediato de este nodo.
PreviousSibling { get; }Obtiene el nodo inmediatamente anterior a este nodo.
Range { get; }Devuelve unRangeobjeto que representa la porción de un documento que está contenida en este nodo.
ResourceLoadingCallback { get; set; }Permite controlar cómo se cargan los recursos externos.
Styles { get; }Devuelve una colección de estilos definidos en el documento.
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.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
override AcceptEnd(DocumentVisitor)Acepta a un visitante por visitar el final del documento del Glosario.
override AcceptStart(DocumentVisitor)Acepta un visitante por visitar el inicio del documento del Glosario.
AppendChild<T>(T)Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
Clone(bool)Crea un duplicado del nodo.
CreateNavigator()Crea un navegador que puede utilizarse para recorrer y leer nodos.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer ancestro del tipo de objeto especificado.
GetBuildingBlock(BuildingBlockGallery, string, string)Encuentra un bloque de construcción utilizando la galería, categoría y nombre especificados.
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.
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.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden.
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.
Remove()Se elimina a sí mismo del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveChild<T>(T)Elimina el nodo secundario especificado.
RemoveSmartTags()Elimina todoSmartTag nodos descendientes del nodo actual.
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.
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.

Observaciones

Algunos documentos, generalmente plantillas, pueden contener Autotexto, Autocorrección entries y/o Bloques de construcción (también conocidos comoentradas del documento del glosario ,partes del documento obloques de construcción).

Para acceder a los bloques de construcción, debe cargar un documento en unDocument objeto. Los bloques de construcción estarán disponibles a través deGlossaryDocument propiedad.

GlossaryDocument puede contener cualquier número deBuildingBlockobjetos. Cada unoBuildingBlock Representa una parte del documento.

Corresponde a laglosarioDocumento ydocPartselementos en OOXML.

Ejemplos

Muestra formas de acceder a los bloques de construcción en un documento de glosario.

public void GlossaryDocument()
{
    Document doc = new Document();
    GlossaryDocument glossaryDoc = new GlossaryDocument();

    BuildingBlock child1 = new BuildingBlock(glossaryDoc) { Name = "Block 1" };
    glossaryDoc.AppendChild(child1);
    BuildingBlock child2 = new BuildingBlock(glossaryDoc) { Name = "Block 2" };
    glossaryDoc.AppendChild(child2);
    BuildingBlock child3 = new BuildingBlock(glossaryDoc) { Name = "Block 3" };
    glossaryDoc.AppendChild(child3);
    BuildingBlock child4 = new BuildingBlock(glossaryDoc) { Name = "Block 4" };
    glossaryDoc.AppendChild(child4);
    BuildingBlock child5 = new BuildingBlock(glossaryDoc) { Name = "Block 5" };
    glossaryDoc.AppendChild(child5);

    Assert.AreEqual(5, glossaryDoc.BuildingBlocks.Count);

    doc.GlossaryDocument = glossaryDoc;

    //Hay varias formas de acceder a los bloques de construcción.
    // 1 - Obtener el primer/último bloque de construcción de la colección:
    Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
    Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);

    // 2 - Obtener un bloque de construcción por índice:
    Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
    Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);

    // 3 - Obtener el primer bloque de construcción que coincida con una galería, nombre y categoría:
    Assert.AreEqual("Block 4", 
        glossaryDoc.GetBuildingBlock(BuildingBlockGallery.All, "(Empty Category)", "Block 4").Name);

    // Lo haremos usando un visitante personalizado,
    // que le dará a cada BuildingBlock en el GlossaryDocument un GUID único
    GlossaryDocVisitor visitor = new GlossaryDocVisitor();
    // Visita el inicio/fin del documento Glosario.
    glossaryDoc.Accept(visitor);
    // Visita solo el inicio del documento Glosario.
    glossaryDoc.AcceptStart(visitor);
    // Visita sólo el final del documento Glosario.
    glossaryDoc.AcceptEnd(visitor);
    Console.WriteLine(visitor.GetText());

    // En Microsoft Word, podemos acceder a los bloques de construcción a través de "Insertar" -> "Elementos rápidos" -> "Organizador de bloques de construcción".
    doc.Save(ArtifactsDir + "BuildingBlocks.GlossaryDocument.dotx"); 
}

/// <summary>
/// Le otorga a cada bloque de construcción en un documento de glosario visitado un GUID único.
/// Almacena los pares de bloques de construcción GUID en un diccionario.
/// </summary>
public class GlossaryDocVisitor : DocumentVisitor
{
    public GlossaryDocVisitor()
    {
        mBlocksByGuid = new Dictionary<Guid, BuildingBlock>();
        mBuilder = new StringBuilder();
    }

    public string GetText()
    {
        return mBuilder.ToString();
    }

    public Dictionary<Guid, BuildingBlock> GetDictionary()
    {
        return mBlocksByGuid;
    }

    public override VisitorAction VisitGlossaryDocumentStart(GlossaryDocument glossary)
    {
        mBuilder.AppendLine("Glossary document found!");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitGlossaryDocumentEnd(GlossaryDocument glossary)
    {
        mBuilder.AppendLine("Reached end of glossary!");
        mBuilder.AppendLine("BuildingBlocks found: " + mBlocksByGuid.Count);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBuildingBlockStart(BuildingBlock block)
    {
        block.Guid = Guid.NewGuid();
        mBlocksByGuid.Add(block.Guid, block);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBuildingBlockEnd(BuildingBlock block)
    {
        mBuilder.AppendLine("\tVisited block \"" + block.Name + "\"");
        mBuilder.AppendLine("\t Type: " + block.Type);
        mBuilder.AppendLine("\t Gallery: " + block.Gallery);
        mBuilder.AppendLine("\t Behavior: " + block.Behavior);
        mBuilder.AppendLine("\t Description: " + block.Description);

        return VisitorAction.Continue;
    }

    private readonly Dictionary<Guid, BuildingBlock> mBlocksByGuid;
    private readonly StringBuilder mBuilder;
}

Ver también