Word Belgesinde İşaretlenmiş İçeriği Göster Gizle

giriiş

Aspose.Words for .NET ile belge düzenleme dünyasına dalmaya hazır mısınız? İster belge görevlerini otomatikleştirmek isteyen bir geliştirici olun, ister Word dosyalarını programatik olarak yönetme konusunda meraklı biri olun, doğru yerdesiniz. Bugün, Aspose.Words for .NET kullanarak bir Word belgesinde yer imlerine eklenen içeriğin nasıl gösterileceğini ve gizleneceğini inceleyeceğiz. Bu adım adım kılavuz, yer imlerine dayalı içerik görünürlüğünü kontrol etmede sizi uzman yapacaktır. Başlayalım!

Ön koşullar

Ayrıntılara girmeden önce ihtiyacınız olacak birkaç şey var:

  1. Visual Studio: .NET ile uyumlu herhangi bir sürüm.
  2. Aspose.Words for .NET: İndirinBurada.
  3. C#‘ın Temel Anlayışı: Basit bir “Merhaba Dünya” programı yazabiliyorsanız, hazırsınız demektir.
  4. Yer İmleri İçeren Bir Word Belgesi: Bu eğitimde yer imleri içeren bir örnek belge kullanacağız.

Ad Alanlarını İçe Aktar

İlk önce, gerekli ad alanlarını içe aktaralım. Bu, görevimiz için ihtiyacımız olan tüm araçlara sahip olmamızı sağlar.

using System;
using Aspose.Words;
using Aspose.Words.Bookmark;

Bu ad alanlarını yerleştirdiğimize göre yolculuğumuza başlamaya hazırız.

Adım 1: Projenizi Kurma

Tamam, Visual Studio’da projemizi kurarak başlayalım.

Yeni Bir Proje Oluştur

Visual Studio’yu açın ve yeni bir Konsol Uygulaması (.NET Core) projesi oluşturun. “BookmarkVisibilityManager” gibi akılda kalıcı bir isim verin.

.NET için Aspose.Words’ü ekleyin

Projenize Aspose.Words for .NET eklemeniz gerekecek. Bunu NuGet Paket Yöneticisi aracılığıyla yapabilirsiniz.

  1. Araçlar > NuGet Paket Yöneticisi > Çözüm için NuGet Paketlerini Yönet’e gidin.
  2. “Aspose.Words” ifadesini arayın.
  3. Paketi kurun.

Harika! Artık projemiz kurulduğuna göre, belgemizi yüklemeye geçelim.

Adım 2: Belgeyi Yükleme

Yer imlerini içeren Word belgesini yüklememiz gerekiyor. Bu eğitim için “Bookmarks.docx” adlı örnek bir belge kullanacağız.

// Belgeler dizinine giden yol.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Bookmarks.docx");

Bu kod parçacığı belge dizininize giden yolu ayarlar ve belgeyi şuraya yükler:doc nesne.

Adım 3: Yer İşaretli İçeriği Göster/Gizle

Şimdi eğlenceli kısma geliyoruz - yer imlerine göre içeriği gösterme veya gizleme. Adı verilen bir yöntem oluşturacağızShowHideBookmarkedContent Bunu halletmek için.

İşte yer imlerine eklenen içeriğin görünürlüğünü değiştirecek yöntem:

public void ShowHideBookmarkedContent(Document doc, string bookmarkName, bool isHidden)
{
    Bookmark bm = doc.Range.Bookmarks[bookmarkName];

    Node currentNode = bm.BookmarkStart;
    while (currentNode != null && currentNode.NodeType != NodeType.BookmarkEnd)
    {
        if (currentNode.NodeType == NodeType.Run)
        {
            Run run = currentNode as Run;
            run.Font.Hidden = isHidden;
        }
        currentNode = currentNode.NextSibling;
    }
}

Yöntemin Ayrıntılı Açıklaması

  • Yer İşareti Alma:Bookmark bm = doc.Range.Bookmarks[bookmarkName]; yer imini getirir.
  • Düğüm Gezinmesi: Yer imi içindeki düğümleri geziyoruz.
  • Görünürlük Geçişi: Düğüm birRun (birbirini izleyen bir metin dizisi), bunu ayarlıyoruzHidden mülk.

Adım 4: Yöntemin Uygulanması

Yöntemimiz hazır olduğuna göre, bunu yer imlerine göre içerik göstermek veya gizlemek için uygulayalım.

ShowHideBookmarkedContent(doc, "MyBookmark1", true);

Bu kod satırı “MyBookmark1” adlı yer iminin içeriğini gizleyecektir.

Adım 5: Belgeyi Kaydetme

Son olarak değiştirdiğimiz belgeyi kaydedelim.

doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");

Bu, belgeyi yaptığımız değişikliklerle kaydeder.

Çözüm

Ve işte karşınızda! Aspose.Words for .NET kullanarak Word belgesinde yer imli içerikleri nasıl göstereceğinizi ve gizleyeceğinizi öğrendiniz. Bu güçlü araç, ister raporları otomatikleştirin, ister şablonlar oluşturun veya sadece Word dosyalarıyla uğraşın, belge düzenlemeyi çocuk oyuncağı haline getirir. İyi kodlamalar!

SSS

Birden fazla yer imini aynı anda açıp kapatabilir miyim?

Evet, arayabilirsinizShowHideBookmarkedContent Geçiş yapmak istediğiniz her yer imi için bir yöntem.

İçeriği gizlemek belgenin yapısını etkiler mi?

Hayır, içeriği gizlemek yalnızca görünürlüğünü etkiler. İçerik belgede kalır.

Bu yöntemi diğer içerik türleri için de kullanabilir miyim?

Bu yöntem özellikle metin çalıştırmalarını değiştirir. Diğer içerik türleri için düğüm geçiş mantığını değiştirmeniz gerekir.

Aspose.Words for .NET ücretsiz mi?

Aspose.Words ücretsiz deneme sunuyorBurada , ancak üretim kullanımı için tam lisans gereklidir. Bunu satın alabilirsinizBurada.

Sorun yaşarsam nasıl destek alabilirim?

Aspose topluluğundan destek alabilirsinizBurada.