Tampilkan Sembunyikan Konten yang Ditandai di Dokumen Word
Pada artikel ini, kita akan menjelajahi kode sumber C# di atas untuk memahami cara menggunakan fungsi Tampilkan Sembunyikan Konten yang Ditandai di pustaka Aspose.Words untuk .NET. Fitur ini memungkinkan Anda menampilkan atau menyembunyikan konten bookmark di dokumen Word berdasarkan kondisi tertentu saat menggabungkan data.
Prasyarat
- Pengetahuan dasar bahasa C#.
- Lingkungan pengembangan .NET dengan perpustakaan Aspose.Words diinstal.
Langkah 1: Mendapatkan bookmark
Kami menggunakanBookmarks
properti rentang dokumen untuk mendapatkan bookmark spesifik tempat kita ingin menampilkan atau menyembunyikan konten:
Bookmark bm = doc.Range.Bookmarks[bookmarkName];
Langkah 2: Memasukkan bidang gabungan
Kami menggunakan pembuat dokumenDocumentBuilder
untuk menyisipkan bidang gabungan yang diperlukan. Bidang gabungan ini akan menetapkan kondisi untuk menampilkan atau menyembunyikan konten bookmark bergantung pada nilainyashowHide
variabel:
DocumentBuilder builder = new DocumentBuilder(doc);
builder. MoveToDocumentEnd();
Field field = builder. InsertField("IF \"", null);
builder. MoveTo(field. Start. NextSibling);
builder. InsertField("MERGEFIELD " + bookmarkName + "", null);
builder. Write("\" = \"true\" ");
builder. Write("\"");
builder. Write("\"");
builder. Write(" \"\"");
Langkah 3: Memindahkan konten bookmark
Kami menelusuri isi bookmark dan memindahkannya sehingga muncul
isse sebelum bookmark. Ini akan mengontrol menampilkan atau menyembunyikan konten berdasarkan kondisi yang ditentukan:
Node currentNode = field. Start;
bool flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.Run)
if (currentNode.ToString(SaveFormat.Text).Trim() == "\"")
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkStart.ParentNode.InsertBefore(currentNode, bm.BookmarkStart);
currentNode = nextNode;
}
Langkah 4: Memindahkan sisa konten bookmark
Kami memindahkan sisa konten penanda setelah penanda, menggunakan simpul akhir penanda sebagai titik penyisipan:
Node endNode = bm.BookmarkEnd;
flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.FieldEnd)
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkEnd.ParentNode.InsertAfter(currentNode, endNode);
endNode = currentNode;
currentNode = nextNode;
}
Langkah 5: Melakukan penggabungan
Kami menggunakanExecute
metode dokumens
Menggabungkan suratobject to execute the merge using the bookmark name and the value of the
variabel showHide`:
doc. MailMerge. Execute(new[] { bookmarkName }, new object[] { showHide });
Contoh kode sumber untuk Tampilkan Sembunyikan Konten yang Ditandai menggunakan Aspose.Words untuk .NET
Berikut adalah contoh lengkap kode Sumber untuk menunjukkan menampilkan atau menyembunyikan konten bookmark menggunakan Aspose.Words untuk .NET:
Bookmark bm = doc.Range.Bookmarks[bookmarkName];
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
// {IF "{MERGEFIELD bookmark}" = "benar" "" ""}
Field field = builder.InsertField("IF \"", null);
builder.MoveTo(field.Start.NextSibling);
builder.InsertField("MERGEFIELD " + bookmarkName + "", null);
builder.Write("\" = \"true\" ");
builder.Write("\"");
builder.Write("\"");
builder.Write(" \"\"");
Node currentNode = field.Start;
bool flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.Run)
if (currentNode.ToString(SaveFormat.Text).Trim() == "\"")
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkStart.ParentNode.InsertBefore(currentNode, bm.BookmarkStart);
currentNode = nextNode;
}
Node endNode = bm.BookmarkEnd;
flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.FieldEnd)
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkEnd.ParentNode.InsertAfter(currentNode, endNode);
endNode = currentNode;
currentNode = nextNode;
}
doc.MailMerge.Execute(new[] { bookmarkName }, new object[] { showHide });
Kesimpulan
Dalam artikel ini, kami menjelajahi kode sumber C# untuk memahami cara menggunakan fitur Tampilkan Sembunyikan Konten yang Ditandai Aspose.Words untuk .NET. Kami telah mengikuti panduan langkah demi langkah untuk menampilkan atau menyembunyikan konten bookmark berdasarkan kondisi tertentu saat menggabungkan data.
FAQ untuk menampilkan sembunyikan konten yang ditandai di dokumen Word
T: Dapatkah saya menggunakan ketentuan yang sama untuk beberapa bookmark dalam dokumen yang sama?
J: Ya, Anda dapat menggunakan ketentuan yang sama untuk beberapa penanda dalam dokumen yang sama. Ulangi saja langkah 2-5 untuk setiap bookmark, sesuaikan nama bookmark dan nilai opsionalnyashowhide
variabel sesuai kebutuhan.
T: Bagaimana cara menambahkan ketentuan lainnya untuk menampilkan atau menyembunyikan konten bookmark?
J: Untuk menambahkan kondisi lainnya, Anda dapat menggunakan operator logika sepertiAND
DanOR
dalam kode untuk menyisipkan kolom gabungan pada langkah 2. Edit ketentuan dalam kode berikut untuk menambahkan ketentuan tambahan :
builder. Write("\" = \"true\" ");
T: Bagaimana cara menghapus penanda di dokumen Word menggunakan Aspose.Words untuk .NET?
J: Untuk menghapus bookmark di dokumen Word menggunakan Aspose.Words untuk .NET, Anda dapat menggunakanRemove
metode dariBookmarks
kumpulan rentang dokumen. Berikut ini contoh kode untuk menghapus bookmark tertentu:
doc.Range.Bookmarks.Remove(bookmarkName);
T: Apakah perpustakaan Aspose.Words gratis?
J: Pustaka Aspose.Words adalah pustaka komersial dan memerlukan lisensi yang valid untuk digunakan dalam proyek Anda. Anda dapat memeriksanyaAspose.Words untuk referensi .NET API untuk mempelajari lebih lanjut tentang opsi lisensi dan harga.
T: Apakah ada perpustakaan lain yang tersedia untuk Pemrosesan Kata dengan dokumen Word di .NET?
J: Ya, ada perpustakaan lain yang tersedia untuk Pemrosesan Kata dengan dokumen Word di .NET, seperti Open XML SDK dan GemBox.Document. Anda dapat menjelajahi perpustakaan ini sebagai alternatif Aspose.Words berdasarkan kebutuhan dan preferensi spesifik Anda.