Bouwblokken

Bouwblokken

Deze gids laat zien hoe je de herbruikbare inhoudsbouwblokken die zijn opgeslagen in het glossariumdocument van een document kunt lezen en aanpassen met Aspose.Words FOSS voor .NET. De bibliotheek stelt AutoText items, omslagpagina’s, kopteksten, voetteksten en vergelijkbare vooraf gedefinieerde inhoud beschikbaar via Document.GlossaryDocument en het BuildingBlock/BuildingBlockCollection objectmodel.


Het Glossariumdocument

Elke Document bevat een GlossaryDocument — toegankelijk via Document.GlossaryDocument — die zelf een DocumentBase subklasse is die de bouwblokken bevat. Zijn BuildingBlocks eigenschap geeft een BuildingBlockCollection terug, waarbij FirstBuildingBlock/LastBuildingBlock snelle toegang tot de uiteinden van de lijst bieden. Zoek een specifiek bouwblok op met GetBuildingBlock(gallery, category, name), waarbij zijn BuildingBlockGallery, categorietekst en naam samen overeenkomen.


Bouwblokstructuur

BuildingBlock is een CompositeNode, dus het bevat zijn eigen inhoudboom — Sections (een SectionCollection), FirstSection en LastSection — op dezelfde manier als een Document secties bevat. Zijn metadata-eigenschappen identificeren en classificeren het: Name, Guid, Description, Category, Gallery (een BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, en tientallen andere vooraf gedefinieerde galerijen), Type (een BuildingBlockType), en Behavior (een BuildingBlockBehavior van Content, Paragraph of Page) die bepalen hoe de inhoud wordt samengevoegd in een document bij invoegen.


Beheren van de Bouwblokverzameling

BuildingBlockCollection ondersteunt volledige collectie-bewerking: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node) en IndexOf(node), naast ToArray() en GetEnumerator() voor lezen. Omdat het een NodeCollection is, kunnen bouwblokken worden geconstrueerd, gekloond en verplaatst met dezelfde node-API’s als elk ander deel van de documentboom.


Placeholder-tekst bouwblokken

Gestructureerde documenttags kunnen een bouwblok als hun placeholder-inhoud refereren: StructuredDocumentTag.Placeholder en StructuredDocumentTagRangeStart.Placeholder retourneren beide de BuildingBlock die wordt getoond wanneer de tag leeg is, via de gedeelde IStructuredDocumentTag.Placeholder eigenschap.


Tips en best practices

  • Vergelijk de drie argumenten van GetBuildingBlock(gallery, category, name) zorgvuldig — dezelfde naam kan bestaan in verschillende galerijen of categorieën.
  • Gebruik BuildingBlockGallery om te filteren naar welk type herbruikbare inhoud je zoekt (AutoText, CoverPage, Tables, Watermarks, enz.) in plaats van elke bouwblok alleen op naam te scannen.
  • BuildingBlockBehavior bepaalt hoe ingevoegde inhoud wordt samengevoegd met het omringende document (Content, Paragraph of Page) — controleer dit voordat je ervan uitgaat dat een bouwblok op de verwachte manier wordt ingevoegd.
  • Aangezien BuildingBlock een CompositeNode is, behandel het als elke andere node-subboom bij het bouwen of bewerken van de inhoud — AppendChild, InsertAfter en vergelijkbare node-methoden zijn allemaal van toepassing.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
GetBuildingBlock() retourneert nietsGalerij, categorie of naam komt niet exact overeen met een bestaand bouwblokEnumereer GlossaryDocument.BuildingBlocks om de exacte Gallery/Category/Name combinatie te vinden
Ingevoegde bouwblokinhoud wordt onverwacht samengevoegdBehavior (Content/Paragraph/Page) niet meegenomenControleer BuildingBlock.Behavior voordat je invoegt om te begrijpen hoe het wordt samengevoegd
Placeholder voor gestructureerde documenttag toont niet de verwachte inhoudPlaceholder wijst naar een andere BuildingBlock dan verondersteldLees StructuredDocumentTag.Placeholder om te bevestigen welk bouwblok daadwerkelijk wordt gerefereerd

FAQ

Waar worden bouwblokken opgeslagen in een document?

In de GlossaryDocument van het document, toegankelijk via Document.GlossaryDocument, waarvan de BuildingBlocks eigenschap een BuildingBlockCollection is.

Hoe vind ik een specifiek bouwblok, zoals een AutoText-vermelding?

Roep GlossaryDocument.GetBuildingBlock(gallery, category, name) aan met de overeenkomende BuildingBlockGallery, categorie en naam.

Kan ik nieuwe bouwblokken programmatisch toevoegen?

Ja — BuildingBlockCollection ondersteunt Add(node) en Insert(index, node) omdat het een NodeCollection is.

Wat regelt BuildingBlockBehavior?

Hoe de inhoud van het bouwblok in het document wordt samengevoegd wanneer het wordt ingevoegd — als Content, een geheel Paragraph, of een geheel Page.

Hoe is een bouwblok gerelateerd aan de placeholder-tekst van een gestructureerde documenttag?

StructuredDocumentTag.Placeholder (en StructuredDocumentTagRangeStart.Placeholder) retourneren de BuildingBlock die de placeholder-inhoud van een SDT levert wanneer deze leeg is.


API Reference Samenvatting

Klasse / MethodeBeschrijving
Document.GlossaryDocumentDe GlossaryDocument van het document, die alle bouwblokken bevat
GlossaryDocument.BuildingBlocksBuildingBlockCollection van elk bouwblok
GlossaryDocument.GetBuildingBlock()Zoekt een bouwblok op op basis van galerij, categorie en naam
BuildingBlockEen CompositeNode met Name, Gallery, Category, Behavior, Type, Sections
BuildingBlockCollectionAdd(), Insert(), Remove(), Clear(), Contains(), IndexOf()
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehaviorEnums die een bouwblok classificeren
StructuredDocumentTag.PlaceholderDe BuildingBlock die wordt gebruikt als placeholder-inhoud van een SDT

Zie ook

 Nederlands