Blok Bangunan
Blok Bangunan
Panduan ini menunjukkan cara membaca dan memodifikasi blok bangunan konten yang dapat digunakan kembali yang disimpan dalam dokumen glosarium dokumen dengan Aspose.Words FOSS untuk .NET. Perpustakaan ini mengekspos entri AutoText, halaman sampul, header, footer, dan konten terdefinisi serupa melalui Document.GlossaryDocument dan model objek BuildingBlock/BuildingBlockCollection.
Dokumen Glosarium
Setiap Document membawa GlossaryDocument — dapat diakses melalui Document.GlossaryDocument — yang sendiri merupakan subclass DocumentBase yang menyimpan blok bangunan. Properti BuildingBlocks-nya mengembalikan BuildingBlockCollection, dengan FirstBuildingBlock/LastBuildingBlock memberikan akses cepat ke ujung-ujung daftar. Cari blok bangunan tertentu dengan GetBuildingBlock(gallery, category, name), yang mencocokkan BuildingBlockGallery, string kategori, dan nama secara bersamaan.
Struktur Blok Bangunan
BuildingBlock adalah CompositeNode, sehingga ia menyimpan pohon konten miliknya sendiri — Sections (sebuah SectionCollection), FirstSection, dan LastSection — dengan cara yang sama seperti Document menyimpan bagian. Properti metadata-nya mengidentifikasi dan mengklasifikasikannya: Name, Guid, Description, Category, Gallery (sebuah BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, dan puluhan galeri terdefinisi lainnya), Type (sebuah BuildingBlockType), dan Behavior (sebuah BuildingBlockBehavior dari Content, Paragraph, atau Page) yang mengontrol bagaimana isinya digabungkan ke dalam dokumen saat disisipkan.
Mengelola Koleksi Blok Bangunan
BuildingBlockCollection mendukung penyuntingan koleksi penuh: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node), dan IndexOf(node), bersama dengan ToArray() dan GetEnumerator() untuk membaca. Karena itu adalah NodeCollection, blok bangunan dapat dibuat, diklon, dan dipindahkan menggunakan API node yang sama seperti bagian lain dari pohon dokumen.
Blok Bangunan Teks Placeholder
Tag dokumen terstruktur dapat merujuk ke blok bangunan sebagai konten placeholder mereka: StructuredDocumentTag.Placeholder dan StructuredDocumentTagRangeStart.Placeholder keduanya mengembalikan BuildingBlock yang ditampilkan ketika tag kosong, melalui properti IStructuredDocumentTag.Placeholder yang bersama.
Tips dan Praktik Terbaik
- Cocokkan tiga argumen
GetBuildingBlock(gallery, category, name)dengan hati-hati — nama yang sama dapat ada di galeri atau kategori yang berbeda. - Gunakan
BuildingBlockGalleryuntuk memfilter jenis konten dapat digunakan kembali yang Anda cari (AutoText,CoverPage,Tables,Watermarks, dll.) daripada memindai setiap blok bangunan hanya berdasarkan nama. BuildingBlockBehaviormenentukan bagaimana konten yang disisipkan digabungkan dengan dokumen di sekitarnya (Content,Paragraph, atauPage) — periksa sebelum mengasumsikan sebuah blok bangunan akan menyisipkan sebagaimana yang Anda harapkan.- Karena
BuildingBlockadalahCompositeNode, perlakukan seperti subpohon node lain saat membangun atau menyunting isinya —AppendChild,InsertAfter, dan metode node serupa semuanya berlaku.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
GetBuildingBlock() tidak mengembalikan apa-apa | Galeri, kategori, atau nama tidak persis cocok dengan blok bangunan yang ada | Enumerasikan GlossaryDocument.BuildingBlocks untuk menemukan kombinasi tepat Gallery/Category/Name |
| Konten blok bangunan yang disisipkan bergabung secara tak terduga | Behavior (Content/Paragraph/Page) tidak diperhitungkan | Periksa BuildingBlock.Behavior sebelum menyisipkan untuk memahami bagaimana itu akan digabungkan |
| Placeholder tag dokumen terstruktur tidak menampilkan konten yang diharapkan | Placeholder mengarah ke BuildingBlock yang berbeda dari yang diasumsikan | Baca StructuredDocumentTag.Placeholder untuk mengonfirmasi blok bangunan mana yang sebenarnya dirujuk |
FAQ
Di mana blok bangunan disimpan dalam dokumen?
Di GlossaryDocument dokumen, dapat diakses melalui Document.GlossaryDocument, yang properti BuildingBlocks-nya adalah BuildingBlockCollection.
Bagaimana cara menemukan blok bangunan tertentu, seperti entri AutoText?
Panggil GlossaryDocument.GetBuildingBlock(gallery, category, name) dengan BuildingBlockGallery yang cocok, kategori, dan nama.
Apakah saya dapat menambahkan blok bangunan baru secara programatis?
Ya — BuildingBlockCollection mendukung Add(node) dan Insert(index, node) karena itu adalah NodeCollection.
Apa yang dikendalikan oleh BuildingBlockBehavior?
Bagaimana konten blok bangunan digabungkan ke dalam dokumen saat disisipkan — sebagai Content, seluruh Paragraph, atau seluruh Page.
Bagaimana blok bangunan terkait dengan teks placeholder tag dokumen terstruktur?
StructuredDocumentTag.Placeholder (dan StructuredDocumentTagRangeStart.Placeholder) mengembalikan BuildingBlock yang menyediakan konten placeholder SDT ketika kosong.
Ringkasan API Reference
| Kelas / Metode | Deskripsi |
|---|---|
Document.GlossaryDocument | GlossaryDocument dokumen, yang menampung semua blok bangunan |
GlossaryDocument.BuildingBlocks | BuildingBlockCollection dari setiap blok bangunan |
GlossaryDocument.GetBuildingBlock() | Mencari blok bangunan berdasarkan galeri, kategori, dan nama |
BuildingBlock | Sebuah CompositeNode dengan Name, Gallery, Category, Behavior, Type, Sections |
BuildingBlockCollection | Add(), Insert(), Remove(), Clear(), Contains(), IndexOf() |
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehavior | Enum yang mengklasifikasikan blok bangunan |
StructuredDocumentTag.Placeholder | BuildingBlock yang digunakan sebagai konten placeholder SDT |