GlossaryDocument

GlossaryDocument class

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

Per saperne di più, visita ilModello oggetto documento Aspose.Words (DOM) 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ò esserenullo .
BuildingBlocks { get; }Restituisce una raccolta tipizzata che rappresenta tutti gli elementi costitutivi del documento 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 elemento costitutivo nel documento glossario.
FirstChild { get; }Ottiene il primo figlio del nodo.
FontInfos { get; }Fornisce l’accesso alle proprietà dei caratteri utilizzati in questo documento.
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figli.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figli.
LastBuildingBlock { get; }Ottiene l’ultimo elemento costitutivo 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 più semplice diBackgroundShape .
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce aRange oggetto che rappresenta la porzione di documento contenuta in questo nodo.
ResourceLoadingCallback { get; set; }Permette 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 la perdita di fedeltà dei dati o della formattazione.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
AppendChild(Node)Aggiunge il nodo specificato alla fine dell’elenco dei nodi secondari 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 blocco predefinito utilizzando la raccolta, la categoria e il nome specificati.
GetChild(NodeType, int, bool)Restituisce un Nesimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta attiva di nodi secondari che corrispondono al tipo specificato.
GetEnumerator()Fornisce il supporto per l’iterazione di ogni 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 al documento corrente con un’opzione per controllare la formattazione.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array di nodi figlio.
InsertAfter(NodeNode)Inserisce il nodo specificato immediatamente dopo il nodo di riferimento specificato.
InsertBefore(NodeNode)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 di preordine.
PrependChild(Node)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi secondari per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente in base all’algoritmo di attraversamento dell’albero di preordine.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild(Node)Rimuove il nodo figlio specificato.
RemoveSmartTags()Rimuove tuttoSmartTagnodi 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, in genere modelli, possono contenere voci di glossario, correzione automatica e/o blocchi predefiniti (noti anche comevoci dei documenti del glossario ,parti del documento ocostruzioni).

Per accedere ai blocchi predefiniti, è necessario caricare un documento in un fileDocument oggetto . Gli elementi costitutivi saranno disponibili tramiteGlossaryDocument proprietà.

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

Corrisponde aglossarioDocument EdocParts elementi in OOXML.

Esempi

Mostra le modalità di accesso agli elementi costitutivi in un documento di glossario.

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;

    // Esistono vari modi per accedere ai blocchi predefiniti.
    // 1 - Ottieni il primo/ultimo elemento costitutivo della raccolta:
    Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
    Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);

    // 2 - Ottieni un elemento costitutivo per indice:
    Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
    Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);

    // 3 - Ottieni il primo elemento costitutivo 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 assegnerà a ogni BuildingBlock nel GlossaryDocument un GUID univoco
    GlossaryDocVisitor visitor = new GlossaryDocVisitor();
    glossaryDoc.Accept(visitor);
    Console.WriteLine(visitor.GetText());

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

/// <summary>
/// Assegna a ogni elemento costitutivo in un documento di glossario visitato un GUID univoco.
/// Memorizza le coppie di blocchi predefiniti 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