Építőelemek
Építőelemek
Ez az útmutató bemutatja, hogyan olvassuk és módosítsuk a dokumentum szószedet dokumentumában tárolt újrahasználható tartalomépítő elemeket a Aspose.Words FOSS segítségével a .NET számára. A könyvtár AutoText bejegyzéseket, címlapokat, fejléceket, lábléceket és hasonló előre definiált tartalmakat tesz elérhetővé a Document.GlossaryDocument és a BuildingBlock/BuildingBlockCollection objektummodellen keresztül.
A Szószedet Dokumentum
Minden Document egy GlossaryDocument elemet tartalmaz — amely Document.GlossaryDocument útján érhető el — ami maga is egy DocumentBase alosztály, és az építőelemeket tárolja. A BuildingBlocks tulajdonsága egy BuildingBlockCollection értéket ad vissza, a FirstBuildingBlock/LastBuildingBlock pedig gyors hozzáférést biztosít a lista végeihez. Egy konkrét építőelemet a GetBuildingBlock(gallery, category, name) segítségével kereshetünk meg, amely egyezik a BuildingBlockGallery, a kategória karakterlánca és a név együtt.
Építőelem Szerkezete
BuildingBlock egy CompositeNode, ezért saját tartalomfát tartalmaz — Sections (egy SectionCollection), FirstSection és LastSection — ugyanúgy, ahogy egy Document szekciókat tárol. Metadataként szolgáló tulajdonságai azonosítják és osztályozzák: Name, Guid, Description, Category, Gallery (egy BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, és még tucatnyi előre definiált galéria), Type (egy BuildingBlockType), és Behavior (egy BuildingBlockBehavior a Content, Paragraph vagy Page közül), amely szabályozza, hogyan olvad bele a tartalma egy dokumentumba a beszúráskor.
Az Építőelem Gyűjtemény Kezelése
BuildingBlockCollection támogatja a teljes gyűjtemény szerkesztését: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node) és IndexOf(node), valamint ToArray() és GetEnumerator() olvasáshoz. Mivel ez egy NodeCollection, az építőelemek létrehozhatók, klónozhatók és áthelyezhetők ugyanazokkal a node API-kkal, mint a dokumentumfa bármely más része.
Helyőrző Szöveg Építőelemek
A strukturált dokumentumcímkék hivatkozhatnak egy építőelemre helyőrző tartalomként: StructuredDocumentTag.Placeholder és StructuredDocumentTagRangeStart.Placeholder is visszaadják a BuildingBlock-t, amely akkor látható, amikor a címke üres, a közös IStructuredDocumentTag.Placeholder tulajdonságon keresztül.
Tippek és Legjobb Gyakorlatok
- Figyelmesen egyeztesd
GetBuildingBlock(gallery, category, name)három argumentumát — ugyanaz a név létezhet különböző galériákban vagy kategóriákban. - Használd a
BuildingBlockGallery-t annak szűrésére, hogy milyen típusú újrahasználható tartalmat keresel (AutoText,CoverPage,Tables,Watermarksstb.), ahelyett, hogy csak név alapján vizsgálnád minden építőelemet. BuildingBlockBehaviorhatározza meg, hogy a beillesztett tartalom hogyan egyesül a környező dokumentummal (Content,ParagraphvagyPage) — ellenőrizd ezt, mielőtt azt feltételeznéd, hogy egy építőelem a várt módon fog beilleszkedni.- Mivel a
BuildingBlockegyCompositeNode, kezeld úgy, mint bármely más node al-fát az építése vagy szerkesztése során — aAppendChild,InsertAfterés hasonló node metódusok mind alkalmazandók.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
GetBuildingBlock() nem ad vissza semmit | A galéria, a kategória vagy a név nem egyezik pontosan egy létező építőelemmel | Sorolja fel a(z) GlossaryDocument.BuildingBlocks elemet, hogy megtalálja a pontos Gallery/Category/Name kombinációt |
| A beillesztett építőelem tartalma váratlanul összeolvad | Behavior (Content/Paragraph/Page) nincs figyelembe véve | Ellenőrizze a BuildingBlock.Behavior beillesztés előtt, hogy megértse, hogyan fog egyesülni |
| A strukturált dokumentum címkehelyőhely nem jeleníti meg a várt tartalmat | Placeholder egy másik BuildingBlock-re mutat, mint azt feltételezték | Olvassa el a StructuredDocumentTag.Placeholder -t, hogy megerősítse, mely építőelem van valójában hivatkozva |
FAQ
Hol tárolódnak az építőelemek egy dokumentumban?
A dokumentum GlossaryDocument-jában, amely a Document.GlossaryDocument útján érhető el, és amelynek BuildingBlocks tulajdonsága egy BuildingBlockCollection.
Hogyan találhatok meg egy konkrét építőelemet, például egy AutoText bejegyzést?
Hívja meg a GlossaryDocument.GetBuildingBlock(gallery, category, name) a megfelelő BuildingBlockGallery, kategória és név megadásával.
Hozzáadhatok új építőelemeket programozottan?
Igen — a BuildingBlockCollection támogatja a Add(node) és a Insert(index, node) funkciókat, mivel ez egy NodeCollection.
Mit szabályoz BuildingBlockBehavior?
Hogyan illeszkedik be a szerkezetblokk tartalma a dokumentumba, amikor beillesztik — mint Content, egy teljes Paragraph, vagy egy teljes Page.
Hogyan kapcsolódik egy szerkezetblokk a struktúrált dokumentum címke helyőrző szövegéhez?
StructuredDocumentTag.Placeholder (és StructuredDocumentTagRangeStart.Placeholder) visszaadják a BuildingBlock-t, amely egy SDT helyőrző tartalmát biztosítja, ha az üres.
API Reference Összegzés
| Osztály / Metódus | Leírás |
|---|---|
Document.GlossaryDocument | A dokumentum GlossaryDocument, amely az összes építőelemet tartalmazza |
GlossaryDocument.BuildingBlocks | BuildingBlockCollection minden építőelemből |
GlossaryDocument.GetBuildingBlock() | Kikeresi egy építőelemet galéria, kategória és név alapján |
BuildingBlock | Egy CompositeNode a(z) Name, Gallery, Category, Behavior, Type, Sections segítségével |
BuildingBlockCollection | Add(), Insert(), Remove(), Clear(), Contains(), IndexOf() |
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehavior | Az építőelemet osztályozó enumok |
StructuredDocumentTag.Placeholder | A BuildingBlock az SDT helyőrző tartalma |