Belgedeki bir sözcüğü veya tümceciği değiştirmek için birçok neden olabilir. Belgeyi herkese açık olarak paylaşmadan önce hassas içeriği silmek veya e-posta kimlikleri veya Sosyal Güvenlik Numaraları gibi tüm özel bilgileri gizlemek/kaldırmak istiyorsanız, belge içeriğini yeniden düzenlemeniz gerekir. Bu makale, C# kullanarak .NET uygulamalarınızda Word belgelerini programlı olarak nasıl yeniden düzenleyeceğiniz konusunda size yol gösterir. Metni gizleyerek nasıl düzelteceğimizi ve farklı teknikler kullanarak metni, kelimeleri veya cümleleri nasıl bulup değiştireceğimizi ayrı ayrı tartışacağız.

Aşağıdaki konular aşağıda ele alınacaktır:

Metni Değiştirmek için .NET Redaksiyon API’si

GroupDocs.Redaction for .NET, çeşitli dosya biçimlerindeki belgelerden amaçlanan verilerin bulunmasına ve değiştirilmesine izin veren belge düzenleme API’sidir. Metin redaksiyonu ve rasterleştirmenin yanı sıra API, meta veri, ek açıklama, elektronik tablo ve resim redaksiyon özellikleri sağlar. Word belgelerinin, elektronik tabloların, sunumların, görüntülerin ve PDF belgelerinin desteklenen dosya biçimleri belgelerde mevcuttur.

DLL’leri veya MSI yükleyicisini indirilenler bölümünden indirebilir veya API’yi NuGet aracılığıyla .NET uygulamanıza yükleyebilirsiniz. /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

Bu süreçte MS Office veya başka bir üçüncü taraf yazılımı yüklemeye gerek yoktur. Şimdi başlayalım ve belgelerde metin bulma ve değiştirmeyle ilgili farklı yaklaşımlara bir göz atalım. Örneklerde gösteri için kullanılan bir Word belgesinin ekran görüntüsü aşağıdadır. Aynı yöntemler, kodda herhangi bir değişiklik olmaksızın diğer belge formatları için de çalışacaktır.

C# kullanarak Word belgesindeki Kelimeleri veya Tümcecikleri Bul ve Değiştir

Aşağıdaki adım, bir Word belgesinde herhangi bir sözcüğün/ifadenin nasıl bulunacağını ve ardından C# uygulamasındaki tüm oluşumları başka bir metinle nasıl değiştireceğinizi açıklar.

  • Redactor sınıfını kullanarak Word belgesini (DOC/DOCX) yükleyin.
  • ReplacementOptions ile ExactPhraseRedaction sınıfını kullanarak tam ifadeyi veya kelimeyi bulun /redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Düzeltmeyi uygulamak için Redactor’ın Uygula yöntemini kullanın.
  • Kaydet yöntemini kullanarak değişiklikleri kaydedin.

Aşağıdaki kod, C#‘daki kelimeyi bulur ve değiştirir. Daha doğrusu, “John Doe"nun tüm oluşumlarını “[sansürlü]” ile değiştirir.

// Tam ifadeyi bulun ve C# kullanarak başka bir metinle değiştirin
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save();
}

Kodun çıktısı aşağıdaki gibidir.

C# kullanarak Word dosyalarında Büyük/Küçük Harfe Duyarlı Arama ve Değiştirme

Benzer şekilde, bir Word belgesinin büyük/küçük harfe duyarlı redaksiyonunu, tam sözcüğü bularak ve başka bir sözcükle değiştirerek gerçekleştirebilirsiniz. Aşağıdaki kod, C# kullanan bir DOCX dosyasındaki “John Doe” kelimesinin yerini alır, ancak bu sefer arama büyük/küçük harfe duyarlı olacaktır.

// Tam ifadeyi bulun (büyük/küçük harfe duyarlı) ve C# kullanarak başka bir metinle değiştirin
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save();
}

Kodun çıktısı aşağıdaki gibidir.

C# kullanarak Normal İfadeler (RegEx) kullanarak Word Dosyalarındaki Metni Değiştirme

Word (DOC, DOCX) dosyalarındaki herhangi bir metin kalıbını bulmak ve değiştirmek için normal ifadeleri kullanabilirsiniz. Aşağıdaki adımlar, C# kullanarak bir Word belgesini RegEx ile yeniden düzenlemenizi sağlar.

  • Redactor sınıfını kullanarak Word belgesini yükleyin.
  • ReplacementOptions ile RegexRedaction sınıfını kullanarak normal ifade eşleşmesini bulun net/groupdocs.redaction.redactions/replacementoptions).
  • Tüm normal ifade eşleşme metinlerini değiştirmek için Uygula yöntemini kullanın.
  • Düzeltilmiş Word dosyasını almak için Kaydet yöntemini kullanın.

Aşağıdaki kod, RegEx kullanılarak bir Word dosyasında bir metin kalıbının nasıl bulunacağını ve ardından C# kullanılarak başka bir metinle nasıl değiştirileceğini/gizleneceğini gösterir.

// Normal ifadeyi kullanarak metni bulun ve C# kullanarak başka bir metinle değiştirin
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save();
}

Yukarıdaki kodun çıktısı aşağıdaki gibidir.

C# Kullanarak Renkli Kutu ile Word Belgelerindeki Gizli Metni Gizleyin

Özel içeriğinizi değiştirmek istemiyor, sadece üzerini kapatmak istiyorsanız API, üzerine bir kutu çizerek bu içeriği gizlemenize olanak tanır. Aşağıdaki kod, C# kullanarak metni karartmak için amaçlanan metnin üzerine siyah dikdörtgeni yerleştirir.

// C# kullanarak üzerine dikdörtgen çizerek metni bulun ve gizleyin
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

Yukarıdaki kodun çıktısı aşağıdaki gibidir.

Ücretsiz API Lisansı Alın

API’yi değerlendirme sınırlamaları olmadan kullanmak için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Sonuç olarak, farklı teknikler kullanarak Word (DOC, DOCX) dosyalarında metin bulmayı ve bulguları farklı şekillerde değiştirmeyi öğrendiniz. Daha doğrusu, büyük/küçük harfe duyarlı bir arama olsa veya C#’ta normal bir ifade kullanıyor olsa bile metin, sözcük veya tümceciğin nasıl bulunacağını tartıştık. Daha sonra arama sonuçlarını başka bir metinle veya aranan metnin üzerine renkli dikdörtgen kutuyu yerleştirerek değiştirdik.

API hakkında daha fazla bilgi için dokümantasyon adresini ziyaret edin. Sorularınız için forum aracılığıyla bize ulaşın.

Ayrıca bakınız