.NET’te GroupDocs Redaction Kullanarak Belgeleri Kırpma

Bu kapsamlı öğreticide belgeleri nasıl kırpacağınızı keşfedecek ve aynı anda GroupDocs.Redaction ve GroupDocs.Search ile belge öznitelik yönetimini ustalaşacaksınız. Hassas verileri korumanız, arama hızını artırmanız veya büyük belge kütüphanelerini düzenlemeniz gerekse, burada gösterilen teknikler yüz binlerce dosyaya ölçeklenebilen üretim‑hazır bir çözüm sunar.

Hızlı Yanıtlar

  • .NET’te bir PDF’i nasıl kırparım? Dosyayı Redactor ile yükleyin, bir RedactionRegion tanımlayın ve Redactor.Apply()‘ı çağırın – üç satır kod ağır işi halleder.
  • İndekslemeden sonra belge özniteliklerini değiştirebilir miyim? Evet, toplu olarak öznitelik eklemek, güncellemek veya kaldırmak için AttributeChangeBatch kullanın.
  • Hangi kütüphaneler gereklidir? GroupDocs.Redaction + GroupDocs.Search (en son NuGet sürümleri).
  • Üretim için lisansa ihtiyacım var mı? Geçerli bir GroupDocs lisansı gereklidir; değerlendirme için geçici bir deneme lisansı mevcuttur.
  • Arama hızını nasıl artırabilirim? Toplu işleme ve seçici indekslemeyi etkinleştirin; bu teknikler büyük veri setlerinde arama performansını %40’a kadar optimize edebilir.

“Belge kırpma” nedir?

Bu, bir dosya içinde hassas bilgileri otomatik olarak bulma ve bunları karartılmış içerikle (örneğin siyah çubuklar veya boşluk) değiştirerek orijinal düzeni koruma sürecini tanımlar. Bu sayede gizli veriler izleyicilerden gizlenir, ancak belge okunabilir ve sonraki görevler için işlevsel kalır.

GroupDocs.Redaction ve GroupDocs.Search Birlikte Neden Kullanılmalı?

GroupDocs.Redaction 50+ dosya formatını (PDF, DOCX, XLSX, PPTX, görüntüler vb.) destekler ve 2 GB‘a kadar belgeleri tüm dosyayı belleğe yüklemeden işleyebilir. GroupDocs.Search standart bir sunucuda saat başı 70 milyon terimden fazla indeksler ve öznitelik‑tabanlı filtreleme ile birleştirildiğinde arama performansını büyük ölçüde optimize etmenizi sağlar.

Önkoşullar

  • Gerekli Kütüphaneler: GroupDocs.Search ve GroupDocs.Redaction (en son NuGet sürümleri).
  • Geliştirme Ortamı: Visual Studio 2019 veya daha yeni, .NET Core 3.1 veya .NET 6+ hedeflenerek.
  • Temel Bilgi: C# sözdizimi, nesne‑yönelimli kavramlar ve belge indeksleme prensiplerine aşinalık.

.NET için GroupDocs.Redaction Kurulumu

Kütüphanenin Kurulması

Aşağıdaki yöntemlerden herhangi birini kullanarak projenize GroupDocs.Redaction ekleyebilirsiniz:

.NET CLI

```bash
dotnet add package GroupDocs.Redaction

Package Manager

```powershell
Install-Package GroupDocs.Redaction

NuGet Paket Yöneticisi UI

  • “GroupDocs.Redaction”ı arayın ve en son sürümü yükleyin.

Lisans Alım Adımları

Başlamak için geçici bir lisans alabilir veya satın alabilirsiniz. Özellikleri test etmek için bir ücretsiz deneme mevcuttur:

  1. Geçici bir lisans talep etmek için GroupDocs Lisans Sayfasını ziyaret edin.
  2. Lisansınızı uygulamanıza eklemek için verilen talimatları izleyin.

Temel Başlatma ve Kurulum

Redactor, bir belgeyi yüklemek ve kırpma işlemlerini uygulamak için kullanılan ana sınıftır.

using GroupDocs.Redaction;

// Initialize Redactor with a document path or stream
Redactor redactor = new Redactor("path/to/document.pdf");

Özellik 1: Belge Özniteliklerini Değiştir

Genel Bakış

Belge özniteliklerini değiştirmek, belgelerin arama sonuçlarında nasıl göründüğünü ince ayar yapmanızı sağlar ve kesin filtreleme ile sınıflandırma imkanı sunar.

Adım 1: İndeksi Başlat

Index, belgelerin ve ilişkili meta verilerin aranabilir bir koleksiyonunu temsil eder.

using GroupDocs.Search.Common;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;

Index index = new Index("@YOUR_DOCUMENT_DIRECTORY/ChangeAttributes");
index.Add("@YOUR_DOCUMENT_DIRECTORY/DocumentsPath");

Adım 2: Öznitelikleri Değiştir

AttributeChangeBatch, öznitelik güncellemelerini verimlilik için toplu olarak işleyen sınıftır.

Tanım referansı: AttributeChangeBatch, belge özniteliklerine ekleme, güncelleme ve silme işlemlerini tek bir işlemde toplar.

DocumentInfo[] documents = index.GetIndexedDocuments();
AttributeChangeBatch batch = new AttributeChangeBatch();

// Adding "public" to all documents
batch.AddToAll("public");

// Removing "public" from the first document
batch.Remove(documents[0].FilePath, "public");

// Adding "main" and "key" to the first document
batch.Add(documents[0].FilePath, "main", "key");
index.ChangeAttributes(batch);

Adım 3: Öznitelik Filtreleriyle Arama

SearchOptions kullanarak arama sonuçlarını öznitelik değerlerine göre filtreleyebilirsiniz.

Doğrudan cevap: Category = "Legal" özniteliğine sahip belgeleri aramak için SearchOptions‘ı bir AttributeFilter ile yapılandırın ve searcher.Search("contract", options)‘ı çağırın. Bu, yalnızca yasal olarak etiketlenmiş sözleşmeleri döndürür, sonuç gürültüsünü azaltır ve arama performansını optimize eder.

SearchOptions options = new SearchOptions();
options.SearchDocumentFilter = SearchDocumentFilter.CreateAttribute("main");

// Perform search
string query = "length";
SearchResult result = index.Search(query, options);

Özellik 2: İndeksleme Sırasında Öznitelik Ekleme

Genel Bakış

İndeksleme anında öznitelik eklemek, her belgenin baştan doğru meta veriyle zenginleştirilmesini sağlar ve sonradan toplu güncellemeye ihtiyaç duyulmaz.

Adım 1: İndeksleme İçin Olay İşleyicisini Kur

Tanım referansı: DocumentIndexed olayı, bir belge başarıyla indekse eklendiğinde her seferinde tetiklenir ve özel mantığın çalışmasına izin verir.

Index index = new Index("@YOUR_DOCUMENT_DIRECTORY/AddAttributesDuringIndexing");

index.Events.FileIndexing += (sender, args) => {
    if (args.DocumentFullPath.EndsWith("Lorem ipsum.pdf")) {
        // Specify attributes for this document
        args.Attributes = new string[] { "main", "key" };
    }
};

// Add documents to index
index.Add("@YOUR_DOCUMENT_DIRECTORY/DocumentsPath");

Adım 2: Aramayı Yapılandır ve Gerçekleştir

Öznitelikler eklendikten sonra, bu yeni alanları kullanarak arama yapabilirsiniz.

Doğrudan cevap: Yeni eklenen öznitelikleri sorgulamak için SearchOptions ile AttributeFilter kullanın, örneğin AttributeFilter("Department", "Finance"). Bu, yalnızca finans‑ile ilgili dosyaları döndürür ve daha hızlı, daha ilgili sonuçlar için özniteliklerin nasıl indeksleneceğini gösterir.

SearchOptions options2 = new SearchOptions();
options2.SearchDocumentFilter = SearchDocumentFilter.CreateAttribute("main");

// Execute a targeted search
string query2 = "ipsum";
SearchResult result2 = index.Search(query2, options2);

Pratik Uygulamalar

Burada belge özniteliklerini ve kırpmayı birlikte yönetmenin somut iş değeri kattığı üç yaygın senaryo:

  1. Hukuki Belge Yönetimi – Gizli maddeleri otomatik olarak kırpın ve sözleşmeleri yargı bölgesine göre etiketleyin, böylece avukatlar yalnızca ilgili dosyaları bulabilir.
  2. Tıbbi Kayıt Organizasyonu – Hasta kimlik bilgilerini kırpın ve uyumlu, hızlı erişim için PatientID ve VisitDate gibi öznitelikler ekleyin.
  3. E‑ticaret Ürün Kataloglama – Tedarikçi fiyat bilgilerini kırpın ve toplu içe aktarma sırasında ürünleri StockStatus veya DiscountRate ile etiketleyin, böylece gerçek‑zaman envanter sorgularına izin verilir.

Performans Düşünceleri

Büyük veri setleriyle çalışırken aşağıdaki en iyi uygulamaları aklınızda tutun:

  • Toplu İşleme: AttributeChangeBatch, indeksle olan dönüşleri azaltır ve 100 k‑belge toplu işleminde işleme süresini %45’e kadar düşürür.
  • Seçici İndeksleme: Yeni özniteliklere ihtiyaç duyan belgeleri indeksleyin; değişmeyen dosyaları atlayarak CPU ve I/O tasarrufu sağlayın.
  • Bellek Yönetimi: SearchResult, Redactor ve Indexer örneklerini işiniz bittiğinde hemen serbest bırakın, böylece yönetilmeyen kaynakları temizleyin.

Yaygın Sorunlar ve Çözümler

SorunNedenÇözüm
Kırpma metni gizlemiyorYanlış RedactionRegion koordinatlarıBölgeyi tanımlamadan önce Redactor.GetPageSize() ile sayfa boyutlarını doğrulayın.
Öznitelik değişiklikleri aramada yansımıyorİndeks yenilenmemişAttributeChangeBatch çalıştırıldıktan sonra searcher.Refresh() çağırın.
Büyük dosyalarda bellek dışı hatalarTüm dosyanın belleğe yüklenmesiRedactorOptions.Stream = true ayarlayarak akış modunu etkinleştirin.

Sıkça Sorulan Sorular

Q: Çoklu PDF’leri toplu olarak kırpmanın en iyi yolu nedir?
A: Her dosyayı Redactor ile yükleyin, her hassas alan için bir RedactionRegion ekleyin ve ardından bir döngü içinde Redactor.Apply()‘ı çağırın; bu yöntem binlerce dosyayı minimum bellek yüküyle işler.

Q: Kırpma ile öznitelik filtrelemeyi tek bir sorguda birleştirebilir miyim?
A: Evet. Kırpma işleminden sonra belge meta verilerini korur, böylece hem metin terimleri hem de AttributeFilter ile aynı anda arama yapabilirsiniz.

Q: Şifre korumalı belgelerle nasıl başa çıkılır?
A: Parolayı Redactor yapıcısına geçirin; kütüphane dosyayı otomatik olarak çözer, kırpar ve yeniden şifreler.

Q: GroupDocs, kırpmadan önce taranmış görüntüler için OCR destekliyor mu?
A: Kesinlikle. Görüntülerdeki metni tanımak için RedactorOptions.Ocr = true ayarını etkinleştirin, ardından çıkarılan metin üzerinde kırpma kurallarını uygulayın.

Q: Hangi .NET sürümleri resmi olarak destekleniyor?
A: GroupDocs.Redaction ve GroupDocs.Search .NET Core 3.1, .NET 5, .NET 6 ve .NET 7 ile birlikte .NET Framework 4.6.2+ sürümlerini destekler.

Sonuç

Artık GroupDocs.Redaction ve GroupDocs.Search kullanarak belgeleri nasıl kırpacağınızı, arama performansını nasıl optimize edeceğinizi ve öznitelikleri nasıl indeksleyeceğinizi içeren tam bir çözümünüz var. Yukarıdaki adımları izleyerek hassas verileri koruyabilir, arama indeksinizi anlamlı meta verilerle zenginleştirebilir ve .NET uygulamalarınızı hızlı ve güvenli tutabilirsiniz.


Son Güncelleme: 2026-06-22
Test Edilen: GroupDocs.Redaction 2.5.0 + GroupDocs.Search 2.5.0 for .NET
Yazar: GroupDocs

İlgili Öğreticiler