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 Autotexto, entradas de Autocorrección y bloques de construcció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 escrita que representa todos los componentes básicos del documento del glosario.
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; }Especifica el identificador de nodo personalizado.
override Document { get; }Obtiene esta instancia.
FirstBuildingBlock { get; }Obtiene el primer bloque de creación del documento del glosario.
FirstChild { get; }Obtiene el primer hijo del nodo.
FontInfos { get; }Proporciona acceso a las propiedades de las fuentes utilizadas en este documento.
HasChildNodes { get; }Devolucionesverdadero si este nodo tiene nodos secundarios.
override IsComposite { get; }Devolucionesverdadero ya que este nodo puede tener nodos secundarios.
LastBuildingBlock { get; }Obtiene el último bloque de construcción del 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 que sigue inmediatamente 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 unRange objeto que representa la parte de un documento contenido 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.
AppendChild(Node)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 se puede utilizar para atravesar y leer nodos.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer antepasado del tipo de objeto especificado.
GetBuildingBlock(BuildingBlockGallery, string, string)Encuentra un bloque de creación utilizando la galería, la categoría y el nombre especificados.
GetChild(NodeType, int, bool)Devuelve un enésimo nodo secundario 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(NodeNode)Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore(NodeNode)Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo transversal del árbol de pedidos anticipados.
PrependChild(Node)Agrega el nodo especificado al principio de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo transversal del árbol de pedidos anticipados.
Remove()Se elimina del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveChild(Node)Elimina el nodo secundario especificado.
RemoveSmartTags()Elimina todoSmartTagnodos descendientes del nodo actual.
SelectNodes(string)Selecciona una lista de nodos que coinciden con la expresión XPath.
SelectSingleNode(string)Selecciona el primeroNode que coincide con la expresión XPath.
ToString(SaveFormat)Exporta el contenido del nodo a una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo a una cadena usando las opciones de guardado especificadas.

Observaciones

Algunos documentos, normalmente plantillas, pueden contener Autotexto, entradas de Autocorrección y/o Building Blocks (también conocidos comoentradas de documentos del glosario ,partes del documento obloques de construcción).

Para acceder a los bloques de creació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 deBuildingBlock objetos. Cada unoBuildingBlock representa una parte del documento.

Corresponde a laglosarioDocumento ydocPartes elementos en OOXML.

Ejemplos

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

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

    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 1" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 2" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 3" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 4" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 5" });

    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();
    glossaryDoc.Accept(visitor);
    Console.WriteLine(visitor.GetText());

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

/// <summary>
/// Proporciona a cada bloque de construcción de 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