.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ı
Redactorile yükleyin, birRedactionRegiontanımlayın veRedactor.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
AttributeChangeBatchkullanı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.SearchveGroupDocs.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:
- Geçici bir lisans talep etmek için GroupDocs Lisans Sayfasını ziyaret edin.
- 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:
- 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.
- Tıbbi Kayıt Organizasyonu – Hasta kimlik bilgilerini kırpın ve uyumlu, hızlı erişim için
PatientIDveVisitDategibi öznitelikler ekleyin. - E‑ticaret Ürün Kataloglama – Tedarikçi fiyat bilgilerini kırpın ve toplu içe aktarma sırasında ürünleri
StockStatusveyaDiscountRateile 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,RedactorveIndexerörneklerini işiniz bittiğinde hemen serbest bırakın, böylece yönetilmeyen kaynakları temizleyin.
Yaygın Sorunlar ve Çözümler
| Sorun | Neden | Çözüm |
|---|---|---|
| Kırpma metni gizlemiyor | Yanlış 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ışı hatalar | Tüm dosyanın belleğe yüklenmesi | RedactorOptions.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