Akışları Kullanarak redact documents .net – Kapsamlı Bir Rehber

Hoş geldiniz! Bu öğreticide, redact documents .net işlemini GroupDocs.Redaction ile akışları kullanarak güvenli bir şekilde nasıl gerçekleştireceğinizi keşfedeceksiniz. Kütüphaneyi kurmaktan, bir belgeyi akıştan yüklemeye, hassas kırpma işlemlerini uygulamaya ve sonucu disk üzerinde geçici dosyalar bırakmadan kaydetmeye kadar ihtiyacınız olan her şeyi adım adım göstereceğiz.

Hızlı Yanıtlar

  • .NET’te kırpma işlemini hangi kütüphane yönetir? GroupDocs.Redaction for .NET.
  • Bir dosyayı doğrudan bir akıştan yükleyebilir miyim? Evet—FileStream‘i Redactor yapıcısıyla kullanın.
  • Hangi formatlar destekleniyor? PDF, DOCX, XLSX, PPTX dahil olmak üzere 70’ten fazla giriş ve çıkış formatı.
  • Üretim için lisansa ihtiyacım var mı? Deneme dışı kullanım için geçerli bir GroupDocs.Redaction lisansı gereklidir.
  • Büyük dosyalar için güvenli mi? Akış tabanlı işleme, tüm dosyanın belleğe yüklenmesini önler ve çok gigabaytlık belgelerin işlenmesini sağlar.

“redact documents .net” nedir?

“Redact documents .net”, GroupDocs.Redaction gibi .NET kütüphanelerini kullanarak dosyalardan hassas içeriği kalıcı olarak kaldırma veya maskeleme sürecine denir. Bu, gizli verilerin sisteminizden açık metin olarak çıkmasını engeller. Genellikle hukuk, finans ve sağlık sektörlerinde GDPR ve HIPAA gibi gizlilik düzenlemelerine uyum sağlamak için kullanılır; böylece işleme sonrasında hassas veriler geri getirilemez.

Kırpma için neden akışlar kullanılmalı?

GroupDocs.Redaction 70’ten fazla dosya formatını destekler ve 2 GB‘a kadar dosyaları belleğe tamamen yüklemeden işleyebilir. Akış kullanımı I/O yükünü azaltır, performansı artırır ve verileri yalnızca dönüşüm için gerekli kısa süre boyunca bellekte tutarak güvenlik en iyi uygulamalarıyla uyum sağlar.

Önkoşullar

  • GroupDocs.Redaction for .NET – NuGet üzerinden kurun (aşağıya bakın).
  • .NET 6+ (veya .NET Framework 4.6.1+).
  • Visual Studio 2022 veya uyumlu herhangi bir IDE.
  • Temel C# bilgisi ve .NET akışlarına aşinalık.

GroupDocs.Redaction Kurulumu

Paketi aşağıdaki komutlardan herhangi biriyle ekleyebilirsiniz:

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager Console

Install-Package GroupDocs.Redaction

Veya NuGet Package Manager UI’de “GroupDocs.Redaction”ı bulun ve Install (Yükle) düğmesine tıklayın.

Lisans Edinme Adımları

  1. Free Trial – deneme sürümünü GroupDocs adresinden indirin.
  2. Temporary License – değerlendirme için kısa vadeli bir anahtar isteyin.
  3. Full Purchase – üretim iş yükleri için kalıcı bir lisans edinin.

Kurulum tamamlandıktan sonra, kütüphaneyi kodunuzda başlatın:

using GroupDocs.Redaction;
// Initialization code here...

Akıştan bir belge nasıl yüklenir?

Bir FileStream, diskteki bir dosyayı okuma ve yazma için bir akış sağlar. Redactor sınıfı belgeyi işleyerek kırpma kurallarını uygular. Kaynak dosyanızı bir FileStream içine yükleyin, ardından akışı Redactor yapıcısına geçirin. Bu yaklaşım, orijinal dosyanın geçici bir konuma yazılmasını önler ve verileri yalnızca işleme süresi boyunca bellekte tutar. Bu yöntem, PDF’ler ve Office belgeleri dahil olmak üzere desteklenen tüm formatlarda çalışır.

// Directly open the source file as a read‑only stream
using var inputStream = new FileStream(inputPath, FileMode.Open, FileAccess.Read);

Redactor’ı akış ile nasıl başlatılır?

Redactor sınıfı, belge içeriğini manipüle eden çekirdek motorudur. Giriş akışını sağlayarak ara dosyalar olmadan bellek içi kırpma yapabilirsiniz. Örneği oluşturduktan sonra kırpma kurallarını zincirleyebilir, değişiklikleri ön izleyebilir ve son belgeyi kaydetmeden önce rasterizasyon veya şifreleme gibi seçenekleri yapılandırabilirsiniz.

// Initialise the Redactor with the input stream
using var redactor = new GroupDocs.Redaction.Redactor(inputStream);

Definition anchor: GroupDocs.Redaction.Redactor, akıştan yüklenen bir belge üzerinde kırpma işlemlerini uygulama, ön izleme ve kaydetme yöntemleri sağlayan birincil sınıftır.

Kırpma işlemleri nasıl uygulanır?

Birden fazla kırpma eylemi ekleyebilirsiniz; aşağıdaki örnek tüm ek açıklamaları siler, bu da gizli yorumları veya inceleme notlarını kaldırmak için yaygın bir gereksinimdir. DeleteTextRedaction veya ReplaceTextRedaction gibi ek kırpma türleri, belge genelinde belirli dizeleri, tarihleri veya desenleri kaldırmak veya maskelemek için birleştirilebilir.

// Apply a predefined redaction that removes every annotation
redactor.Apply(new DeleteAnnotationRedaction());

Definition anchor: DeleteAnnotationRedaction, yorumlar, vurgulamalar ve damgalar gibi ek açıklama nesnelerini belgeden kalıcı olarak silen yerleşik bir kırpma kuralıdır.

Kırpılmış belge nasıl kaydedilir?

FileStream‘e doğrudan kaydetmek, çıktının tek bir geçişte yazılmasını sağlar ve gereksiz geçici dosyaları ortadan kaldırır. Güvenlik gereksinimlerini karşılamak için SaveOptions nesnesi aracılığıyla çıktı formatını, sıkıştırma seviyesini ve isteğe bağlı şifre korumasını da belirtebilirsiniz. Son olarak, dosya tanıtıcılarını serbest bırakmak ve dosyanın tamamen diske yazıldığından emin olmak için çıktı akışını kapatın.

// Prepare the output stream for the redacted file
using var outputStream = new FileStream(outputPath, FileMode.Create, FileAccess.Write);

// Save the modified document; RasterizationOptions disabled to keep text editable
redactor.Save(outputStream, new SaveOptions { RasterizationOptions = null });

Definition anchor: SaveOptions, belgenin nasıl kalıcı hale getirileceğini kontrol etmenizi sağlar; rasterizasyon, şifreleme ve format seçimi gibi seçenekleri içerir.

Yaygın Kullanım Senaryoları

  • Legal document handling: Müşterilerle taslakları paylaşmadan önce gizli ek açıklamaları kaldırın.
  • GDPR compliance: Sözleşmelerden veya çalışan kayıtlarından kişisel tanımlayıcıları kaldırın.
  • Internal audit reports: Dağıtım için temel içeriği korurken inceleme notlarını gizleyin.

Büyük Dosyalar İçin Performans İpuçları

  1. Akışları hemen serbest bırakın – using ifadeleri akışları otomatik olarak kapatır, belleği serbest bırakır.
  2. Toplu işleme – Dosya koleksiyonunda döngü yapın ve format izin veriyorsa tek bir Redactor örneğini yeniden kullanarak tahsis yükünü azaltın.

Sorun Giderme

  1. Dosya erişimi reddedildi – Uygulamanın hesabının hedef klasörlerde okuma/yazma izinlerine sahip olduğunu doğrulayın.
  2. Kırpma uygulanmadı – Seçtiğiniz kırpma türünün belge formatıyla uyumlu olduğundan emin olun (örneğin, DeleteAnnotationRedaction PDF ve DOCX için çalışır).

Sıkça Sorulan Sorular

S: Akışlarla işlenebilen dosya formatları hangileridir?
C: Stream tabanlı API’ler kullanıldığında GroupDocs.Redaction, PDF, DOCX, XLSX, PPTX ve HTML dahil olmak üzere 70’ten fazla formatı destekler.

S: Kaydetmeden önce kırpma işlemlerini ön izleyebilir miyim?
C: Evet, redactor.GetRedactedDocument() metodunu çağırarak programatik olarak render edebileceğiniz veya inceleyebileceğiniz bir bellek içi temsil elde edebilirsiniz.

S: Kütüphane şifre korumalı dosyaları nasıl ele alır?
C: Şifreyi, şifreyi içeren LoadOptions kabul eden Redactor aşırı yüklemeleri aracılığıyla akışı açarken sağlayın.

S: Belge boyutu için bir limit var mı?
C: Motor, 2 GB’a kadar dosyaları işleyebilir; daha büyük dosyalar bellek limitleri içinde kalmak için bölünmeli veya parçalara ayrılarak işlenmelidir.

S: Her dağıtım ortamı için ayrı bir lisansına ihtiyacım var mı?
C: Tek bir lisans anahtarı, kullanım lisans anlaşmasına uygun olduğu sürece birden fazla ortamda kullanılabilir.

Sonuç

Artık redact documents .net için GroupDocs.Redaction ile akışları kullanarak eksiksiz, adım adım bir çözüme sahipsiniz. Dosyaları doğrudan akışlardan yükleyerek, hedeflenmiş kırpma işlemlerini uygulayarak ve ara artefaktlar olmadan kaydederek hem güvenliği hem de performansı elde edersiniz. Metin değiştirme veya meta veri kaldırma gibi ek kırpma türlerini keşfederek süreci belirli uyumluluk ihtiyaçlarınıza göre özelleştirin.


Son Güncelleme: 2026-07-06
Test Edilen Versiyon: GroupDocs.Redaction 5.0 for .NET
Yazar: GroupDocs

Kaynaklar

string sourceFile = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "sample.docx");
using (Stream stream = File.Open(sourceFile, FileMode.Open, FileAccess.ReadWrite))
{
    // Proceed with document processing...
}
using (var redactor = new GroupDocs.Redaction.Redactor(stream))
{
    // Apply redactions...
}
redactor.Apply(new GroupDocs.Redaction.Redactions.DeleteAnnotationRedaction());
string outputFile = Path.Combine("YOUR_OUTPUT_DIRECTORY", "redacted_sample.docx");
using (Stream streamOut = File.Open(outputFile, FileMode.Create, FileAccess.Write))
{
    redactor.Save(streamOut, new GroupDocs.Redaction.Options.RasterizationOptions { Enabled = false });
}

İlgili Öğreticiler