GlossaryDocument

GlossaryDocument class

Representerar rotelementet för ett ordlistadokument i ett Word-dokument. Ett ordlistadokument är en lagringsplats för AutoText, Autokorrigeringsposter och byggstenar.

För att lära dig mer, besökAspose.Words-dokumentobjektmodell (DOM) dokumentationsartikel.

public class GlossaryDocument : DocumentBase

Konstruktörer

namnBeskrivning
GlossaryDocument()Default_Constructor

Egenskaper

namnBeskrivning
BackgroundShape { get; set; }Hämtar eller ställer in dokumentets bakgrundsform. Kan varanull .
BuildingBlocks { get; }Returnerar en typad samling som representerar alla byggstenar i ordlistadokumentet.
Count { get; }Hämtar antalet omedelbara barn till denna nod.
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
override Document { get; }Hämtar denna instans.
FirstBuildingBlock { get; }Hämtar den första byggstenen i ordlistadokumentet.
FirstChild { get; }Hämtar nodens första barn.
FontInfos { get; }Ger åtkomst till egenskaper för teckensnitt som används i detta dokument.
FootnoteSeparators { get; }Ger åtkomst till fotnots-/slutnotsavgränsare som definierats i dokumentet.
HasChildNodes { get; }Returersann om den här noden har några undernoder.
override IsComposite { get; }Returersann eftersom denna nod kan ha underordnade noder.
LastBuildingBlock { get; }Hämtar den sista byggstenen i ordlistadokumentet.
LastChild { get; }Hämtar nodens sista barn.
Lists { get; }Ger åtkomst till listformateringen som används i dokumentet.
NextSibling { get; }Hämtar noden som följer direkt efter denna nod.
NodeChangingCallback { get; set; }Anropas när en nod infogas eller tas bort i dokumentet.
override NodeType { get; }ReturnerarGlossaryDocument värde.
PageColor { get; set; }Hämtar eller ställer in dokumentets sidfärg. Den här egenskapen är en enklare version avBackgroundShape .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
PreviousSibling { get; }Hämtar noden som omedelbart föregår denna nod.
Range { get; }Returnerar enRangeobjekt som representerar den del av ett dokument som finns i denna nod.
ResourceLoadingCallback { get; set; }Gör det möjligt att styra hur externa resurser laddas.
Styles { get; }Returnerar en samling stilar definierade i dokumentet.
WarningCallback { get; set; }Anropas under olika dokumentbehandlingsprocedurer när ett problem upptäcks som kan resultera i förlust av data- eller formateringsåtergivning.

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Tar emot en besökare.
override AcceptEnd(DocumentVisitor)Accepterar en besökare för att besöka slutet av ordlistadokumentet.
override AcceptStart(DocumentVisitor)Accepterar en besökare för att besöka början av ordlistadokumentet.
AppendChild<T>(T)Lägger till den angivna noden i slutet av listan över underordnade noder för denna nod.
Clone(bool)Skapar en duplikat av noden.
CreateNavigator()Skapar en navigator som kan användas för att korsa och läsa noder.
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
GetBuildingBlock(BuildingBlockGallery, string, string)Hittar ett byggblock med hjälp av det angivna galleriet, kategorin och namnet.
GetChild(NodeType, int, bool)Returnerar en N:te underordnad nod som matchar den angivna typen.
GetChildNodes(NodeType, bool)Returnerar en live-samling av underordnade noder som matchar den angivna typen.
GetEnumerator()Ger stöd för iterationen för varje stil över de underordnade noderna till denna nod.
override GetText()Hämtar texten för denna nod och alla dess underordnade noder.
ImportNode(Node, bool)Importerar en nod från ett annat dokument till det aktuella dokumentet.
ImportNode(Node, bool, ImportFormatMode)Importerar en nod från ett annat dokument till det aktuella dokumentet med ett alternativ för att styra formateringen.
IndexOf(Node)Returnerar indexet för den angivna undernoden i undernodsmatrisen.
InsertAfter<T>(T, Node)Infogar den angivna noden omedelbart efter den angivna referensnoden.
InsertBefore<T>(T, Node)Infogar den angivna noden omedelbart före den angivna referensnoden.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdtraversering.
PrependChild<T>(T)Lägger till den angivna noden i början av listan över underordnade noder för denna nod.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för trädtraversering i förbeställning.
Remove()Tar bort sig själv från föräldern.
RemoveAllChildren()Tar bort alla undernoder till den aktuella noden.
RemoveChild<T>(T)Tar bort den angivna undernoden.
RemoveSmartTags()Tar bort allaSmartTag underordnade noder till den aktuella noden.
SelectNodes(string)Väljer en lista med noder som matchar XPath-uttrycket.
SelectSingleNode(string)Väljer den förstaNode som matchar XPath-uttrycket.
ToString(SaveFormat)Exporterar nodens innehåll till en sträng i det angivna formatet.
ToString(SaveOptions)Exporterar nodens innehåll till en sträng med de angivna sparalternativen.

Anmärkningar

Vissa dokument, vanligtvis mallar, kan innehålla Autotext, Autokorrigering poster och/eller byggstenar (även kalladeordlista dokumentposter ,dokumentdelar ellerbyggstenar).

För att komma åt byggstenar måste du ladda ett dokument i enDocument -objektet. Byggstenar kommer att finnas tillgängliga viaGlossaryDocument egendom.

GlossaryDocument kan innehålla valfritt antalBuildingBlockobjekt. VarjeBuildingBlock representerar en del av dokumentet.

Motsvarar denordlistaDokument ochdocPartselement i OOXML.

Exempel

Visar sätt att komma åt byggstenar i ett ordlistadokument.

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;

    // Det finns olika sätt att komma åt byggstenar.
    // 1 - Hämta de första/sista byggstenarna i samlingen:
    Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
    Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);

    // 2 - Hämta en byggsten via index:
    Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
    Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);

    // 3 - Hämta den första byggstenen som matchar ett galleri, namn och kategori:
    Assert.AreEqual("Block 4", 
        glossaryDoc.GetBuildingBlock(BuildingBlockGallery.All, "(Empty Category)", "Block 4").Name);

    // Vi gör det med hjälp av en anpassad besökare,
    // vilket ger varje BuildingBlock i GlossaryDocument ett unikt GUID
    GlossaryDocVisitor visitor = new GlossaryDocVisitor();
    // Besök början/slutet av ordlistadokumentet.
    glossaryDoc.Accept(visitor);
    // Besök endast början av ordlistadokumentet.
    glossaryDoc.AcceptStart(visitor);
    // Besök endast slutet av ordlistadokumentet.
    glossaryDoc.AcceptEnd(visitor);
    Console.WriteLine(visitor.GetText());

    // I Microsoft Word kan vi komma åt byggstenarna via "Insert" -> "Quick Parts" -> "Building Blocks Organizer".
    doc.Save(ArtifactsDir + "BuildingBlocks.GlossaryDocument.dotx"); 
}

/// <summary>
/// Ger varje byggsten i ett besökt ordlistadokument ett unikt GUID.
/// Lagrar GUID-byggstensparen i en ordbok.
/// </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;
}

Se även