חלקי בנייה
בלוקים
מדריך זה מציג כיצד לקרוא ולשנות את בלוקי בניית התוכן הניתנים לשימוש חוזר המאוחסנים במילון המסמך של מסמך ה-glossary עם Aspose.Words FOSS עבור .NET. הספרייה חושפת AutoText ערכים, עמודי שער, כותרות, כותרות תחתונות ותוכן מוגדר מראש דומה דרך Document.GlossaryDocument ו-מודל האובייקטים BuildingBlock/BuildingBlockCollection.
מסמך המילון
כל Document מכיל GlossaryDocument — נגיש דרך Document.GlossaryDocument — שהיא בעצמה תת-מחלקה של DocumentBase המחזיקה את הבלוקים. המאפיין BuildingBlocks שלו מחזיר BuildingBlockCollection, כאשר FirstBuildingBlock/LastBuildingBlock נותנים גישה מהירה לקצות הרשימה. חפש בלוק בנייה ספציפי עם GetBuildingBlock(gallery, category, name), המתאים ל-BuildingBlockGallery, מחרוזת הקטגוריה והשם יחד.
מבנה בלוק בנייה
BuildingBlock הוא CompositeNode, ולכן הוא מכיל עץ תוכן משלו — Sections (SectionCollection), FirstSection ו-LastSection — כפי ש-Document מכיל קטעים. מאפייני המטא-נתונים שלו מזהים ומסווגים אותו: Name, Guid, Description, Category, Gallery (BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, ועוד עשרות גלריות מוגדרות מראש), Type (BuildingBlockType), ו-Behavior (BuildingBlockBehavior של Content, Paragraph או Page) השולטות כיצד התוכן שלו משולב במסמך בעת ההוספה.
ניהול אוסף הבלוקים
BuildingBlockCollection תומך בעריכה מלאה של האוסף: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node) ו-IndexOf(node), יחד עם ToArray() ו-GetEnumerator() לקריאה. מכיוון שהוא NodeCollection, ניתן לבנות, לשכפל ולהזיז בלוקים בנייה באמצעות אותן API של צמתים כמו כל חלק אחר בעץ המסמך.
בלוקים לבניית טקסט מציין מקום
תגיות מסמך מובנות יכולות להתייחס לבלוק בנייה כתוכן מציין מקום שלהן: StructuredDocumentTag.Placeholder ו-StructuredDocumentTagRangeStart.Placeholder מחזירים את ה-BuildingBlock המוצג כאשר התג ריק, דרך המאפיין המשותף IStructuredDocumentTag.Placeholder.
טיפים ושיטות עבודה מומלצות
- התאם בזהירות את שלושת הארגומנטים של
GetBuildingBlock(gallery, category, name)— אותו שם יכול להתקיים בגלריות או קטגוריות שונות. - השתמש ב-
BuildingBlockGalleryכדי לסנן איזה סוג של תוכן ניתן לשימוש חוזר אתה מחפש (AutoText,CoverPage,Tables,Watermarksוכד’), במקום לסרוק כל בלוק בנייה רק לפי שם. BuildingBlockBehaviorקובע כיצד תוכן שהוכנס מתמזג עם המסמך הסביבתי (Content,ParagraphאוPage) — בדוק זאת לפני שאתה מניח שבלוק בנייה יוכנס כפי שאתה מצפה.- מאחר ש-
BuildingBlockהואCompositeNode, יש להתייחס אליו כמו לכל תת-עץ צומת אחר בעת בנייה או עריכת התכנים שלו —AppendChild,InsertAfterושיטות צומת דומות חלות.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
GetBuildingBlock() מחזיר כלום | הגלריה, הקטגוריה או השם אינם תואמים בדיוק ליחידת בנייה קיימת | רשום את GlossaryDocument.BuildingBlocks כדי למצוא את השילוב המדויק של Gallery/Category/Name |
| תוכן הבלוק שהוכנס מתמזג באופן בלתי צפוי | Behavior (Content/Paragraph/Page) לא נלקח בחשבון | בדוק את BuildingBlock.Behavior לפני ההוספה כדי להבין איך הוא מתמזג |
| מציין מיקום של תג מסמך מובנה לא מציג את התוכן הצפוי | Placeholder מצביע על BuildingBlock שונה ממה שננחש | קרא את StructuredDocumentTag.Placeholder כדי לאשר איזו בלוק בנייה מתייחסת בפועל |
FAQ
היכן מאוחסנים בלוקי בניין במסמך?
בGlossaryDocument של המסמך, הנגיש דרך Document.GlossaryDocument, שבו המאפיין BuildingBlocks הוא BuildingBlockCollection.
איך אני מוצא בלוק בניין ספציפי, כגון רשומת AutoText?
קרא לGlossaryDocument.GetBuildingBlock(gallery, category, name) עם BuildingBlockGallery המתאים, הקטגוריה והשם.
האם אני יכול להוסיף בלוקי בניין חדשים באופן תכנותי?
כן — BuildingBlockCollection תומך בAdd(node) ובInsert(index, node) מכיוון שהוא NodeCollection.
מה BuildingBlockBehavior שולט?
כיצד תוכן ה-building block מתמזג למסמך כאשר הוא מוכנס — כContent, Paragraph שלם, או Page שלם.
כיצד building block קשור לטקסט הממלא מקום של תג מסמך מובנה?
StructuredDocumentTag.Placeholder (ו-StructuredDocumentTagRangeStart.Placeholder) מחזירים את ה-BuildingBlock שמספק את תוכן הממלא מקום של SDT כאשר הוא ריק.
סיכום API Reference
| מחלקה / מתודה | תיאור |
|---|---|
Document.GlossaryDocument | הGlossaryDocument של המסמך, המחזיק את כל בלוקי הבנייה |
GlossaryDocument.BuildingBlocks | BuildingBlockCollection של כל בלוק בנייה |
GlossaryDocument.GetBuildingBlock() | מחפש בלוק בנייה לפי גלרייה, קטגוריה ושם |
BuildingBlock | CompositeNode עם Name, Gallery, Category, Behavior, Type, Sections |
BuildingBlockCollection | Add(), Insert(), Remove(), Clear(), Contains(), IndexOf() |
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehavior | Enums המסווגים רכיב בנייה |
StructuredDocumentTag.Placeholder | ה-BuildingBlock המשמש כתוכן מציין מקום של SDT |