GlossaryDocument

GlossaryDocument class

Rappresenta l’elemento radice di un documento di glossario all’interno di un documento Word. Un documento di glossario è un archivio per voci di testo automatico, di correzione automatica e blocchi predefiniti.

Per saperne di più, visita ilModello a oggetti del documento (DOM) di Aspose.Words articolo di documentazione.

public class GlossaryDocument : DocumentBase

Costruttori

NomeDescrizione
GlossaryDocument()Default_Costruttore

Proprietà

NomeDescrizione
BackgroundShape { get; set; }Ottiene o imposta la forma dello sfondo del documento. Può esserenull .
BuildingBlocks { get; }Restituisce una raccolta tipizzata che rappresenta tutti i blocchi costitutivi nel documento del glossario.
Count { get; }Ottiene il numero di figli immediati di questo nodo.
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
override Document { get; }Ottiene questa istanza.
FirstBuildingBlock { get; }Ottiene il primo blocco di costruzione nel documento del glossario.
FirstChild { get; }Ottiene il primo figlio del nodo.
FontInfos { get; }Fornisce l’accesso alle proprietà dei font utilizzati in questo documento.
FootnoteSeparators { get; }Fornisce l’accesso ai separatori di note a piè di pagina/note di chiusura definiti nel documento.
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figlio.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figlio.
LastBuildingBlock { get; }Ottiene l’ultimo blocco di costruzione nel documento del glossario.
LastChild { get; }Ottiene l’ultimo figlio del nodo.
Lists { get; }Fornisce l’accesso alla formattazione dell’elenco utilizzata nel documento.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
NodeChangingCallback { get; set; }Chiamato quando un nodo viene inserito o rimosso nel documento.
override NodeType { get; }Restituisce ilGlossaryDocument valore.
PageColor { get; set; }Ottiene o imposta il colore della pagina del documento. Questa proprietà è una versione semplificata diBackgroundShape .
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce unRangeoggetto che rappresenta la porzione di un documento contenuta in questo nodo.
ResourceLoadingCallback { get; set; }Consente di controllare come vengono caricate le risorse esterne.
Styles { get; }Restituisce una raccolta di stili definiti nel documento.
WarningCallback { get; set; }Chiamato durante varie procedure di elaborazione dei documenti quando viene rilevato un problema che potrebbe causare una perdita di fedeltà dei dati o della formattazione.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
override AcceptEnd(DocumentVisitor)Accetta un visitatore per aver visitato la fine del documento del Glossario.
override AcceptStart(DocumentVisitor)Accetta un visitatore per aver visitato l’inizio del documento del Glossario.
AppendChild<T>(T)Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo.
Clone(bool)Crea un duplicato del nodo.
CreateNavigator()Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetBuildingBlock(BuildingBlockGallery, string, string)Trova un elemento costitutivo utilizzando la galleria, la categoria e il nome specificati.
GetChild(NodeType, int, bool)Restituisce un N-esimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato.
GetEnumerator()Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo.
override GetText()Ottiene il testo di questo nodo e di tutti i suoi figli.
ImportNode(Node, bool)Importa un nodo da un altro documento al documento corrente.
ImportNode(Node, bool, ImportFormatMode)Importa un nodo da un altro documento nel documento corrente con un’opzione per controllare la formattazione.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array dei nodi figlio.
InsertAfter<T>(T, Node)Inserisce il nodo specificato subito dopo il nodo di riferimento specificato.
InsertBefore<T>(T, Node)Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato.
PrependChild<T>(T)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild<T>(T)Rimuove il nodo figlio specificato.
RemoveSmartTags()Rimuove tuttoSmartTag nodi discendenti del nodo corrente.
SelectNodes(string)Seleziona un elenco di nodi che corrispondono all’espressione XPath.
SelectSingleNode(string)Seleziona il primoNode che corrisponde all’espressione XPath.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.

Osservazioni

Alcuni documenti, solitamente modelli, possono contenere voci di testo automatico, voci di correzione automatica e/o blocchi predefiniti (noti anche comevoci del documento del glossario ,parti del documento oblocchi di costruzione).

Per accedere ai blocchi di costruzione, è necessario caricare un documento in unDocument Oggetto . I blocchi di costruzione saranno disponibili tramiteGlossaryDocument proprietà.

GlossaryDocument può contenere un numero qualsiasi diBuildingBlockoggetti. CiascunoBuildingBlock rappresenta una parte del documento.

Corrisponde alglossarioDocumento EdocPartselementi in OOXML.

Esempi

Mostra i modi per accedere ai blocchi di costruzione in un documento di glossario.

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;

    // Esistono vari modi per accedere ai componenti di base.
    // 1 - Ottieni i primi/ultimi blocchi costitutivi della raccolta:
    Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
    Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);

    // 2 - Ottieni un blocco di costruzione tramite l'indice:
    Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
    Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);

    // 3 - Ottieni il primo blocco di costruzione che corrisponde a una galleria, un nome e una categoria:
    Assert.AreEqual("Block 4", 
        glossaryDoc.GetBuildingBlock(BuildingBlockGallery.All, "(Empty Category)", "Block 4").Name);

    // Lo faremo utilizzando un visitatore personalizzato,
    // che darà a ogni BuildingBlock nel GlossaryDocument un GUID univoco
    GlossaryDocVisitor visitor = new GlossaryDocVisitor();
    // Visita l'inizio/la fine del documento Glossario.
    glossaryDoc.Accept(visitor);
    // Visita solo l'inizio del documento Glossario.
    glossaryDoc.AcceptStart(visitor);
    // Visita solo la fine del documento Glossario.
    glossaryDoc.AcceptEnd(visitor);
    Console.WriteLine(visitor.GetText());

    // In Microsoft Word, possiamo accedere ai blocchi di costruzione tramite "Inserisci" -> "Parti rapide" -> "Organizzatore blocchi di costruzione".
    doc.Save(ArtifactsDir + "BuildingBlocks.GlossaryDocument.dotx"); 
}

/// <summary>
/// Assegna a ciascun elemento costitutivo di un documento di glossario visitato un GUID univoco.
/// Memorizza le coppie di blocchi costitutivi GUID in un dizionario.
/// </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;
}

Guarda anche