Jak redagować dokumenty w .NET przy użyciu GroupDocs Redaction

W tym obszernym samouczku odkryjesz jak redagować dokumenty w środowisku .NET i jednocześnie opanujesz zarządzanie atrybutami dokumentów przy użyciu GroupDocs.Redaction i GroupDocs.Search. Niezależnie od tego, czy musisz chronić wrażliwe dane, przyspieszyć wyszukiwanie, czy organizować duże biblioteki dokumentów, przedstawione techniki zapewniają gotowe do produkcji rozwiązanie, które skaluje się do setek tysięcy plików.

Szybkie odpowiedzi

  • Jak redagować PDF w .NET? Załaduj plik przy użyciu Redactor, zdefiniuj RedactionRegion i wywołaj Redactor.Apply() – trzy linie kodu wykonują najcięższą pracę.
  • Czy mogę zmienić atrybuty dokumentu po indeksowaniu? Tak, użyj AttributeChangeBatch, aby masowo dodawać, aktualizować lub usuwać atrybuty.
  • Jakie biblioteki są wymagane? GroupDocs.Redaction + GroupDocs.Search (najnowsze wersje NuGet).
  • Czy potrzebna jest licencja do produkcji? Wymagana jest ważna licencja GroupDocs; tymczasowa licencja próbna jest dostępna do oceny.
  • Jak mogę poprawić szybkość wyszukiwania? Włącz przetwarzanie wsadowe i selektywne indeksowanie; te techniki mogą zoptymalizować wydajność wyszukiwania nawet o 40 % przy dużych zestawach danych.

Co to jest „jak redagować dokumenty”?

Opisuje to zautomatyzowany proces wykrywania wrażliwych informacji w pliku i zastępowania ich ukrytymi treściami — takimi jak czarne paski lub biała przestrzeń — przy zachowaniu oryginalnego układu. Zapewnia to ukrycie poufnych danych przed odbiorcami, jednocześnie pozostawiając dokument czytelnym i funkcjonalnym dla dalszych zadań.

Dlaczego używać GroupDocs.Redaction i GroupDocs.Search razem?

GroupDocs.Redaction obsługuje ponad 50 formatów plików (PDF, DOCX, XLSX, PPTX, obrazy itp.) i może przetwarzać dokumenty do 2 GB bez ładowania całego pliku do pamięci. GroupDocs.Search indeksuje ponad 70 milionów terminów na godzinę na standardowym serwerze, umożliwiając optymalizację wydajności wyszukiwania w znacznym stopniu, gdy jest połączony z filtrowaniem opartym na atrybutach.

Wymagania wstępne

  • Wymagane biblioteki: GroupDocs.Search i GroupDocs.Redaction (najnowsze wydania NuGet).
  • Środowisko programistyczne: Visual Studio 2019 lub nowsze, docelowo .NET Core 3.1 lub .NET 6+.
  • Podstawowa wiedza: składnia C#, koncepcje obiektowe oraz znajomość zasad indeksowania dokumentów.

Konfiguracja GroupDocs.Redaction dla .NET

Instalacja biblioteki

Możesz dodać GroupDocs.Redaction do swojego projektu przy użyciu jednej z następujących metod:

.NET CLI

```bash
dotnet add package GroupDocs.Redaction

Package Manager

```powershell
Install-Package GroupDocs.Redaction

NuGet Package Manager UI

  • Wyszukaj „GroupDocs.Redaction” i zainstaluj najnowszą wersję.

Kroki uzyskania licencji

Aby rozpocząć, możesz uzyskać tymczasową licencję lub ją zakupić. Dostępna jest darmowa wersja próbna, aby przetestować funkcje przed podjęciem decyzji:

  1. Odwiedź GroupDocs Licensing Page, aby zażądać tymczasowej licencji.
  2. Postępuj zgodnie z instrukcjami dotyczącymi zastosowania licencji w swojej aplikacji.

Podstawowa inicjalizacja i konfiguracja

Redactor jest główną klasą używaną do ładowania dokumentu i stosowania operacji redagowania.

using GroupDocs.Redaction;

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

Funkcja 1: Zmiana atrybutów dokumentu

Przegląd

Modyfikowanie atrybutów dokumentu pozwala precyzyjnie dostosować sposób wyświetlania dokumentów w wynikach wyszukiwania, umożliwiając dokładne filtrowanie i kategoryzację.

Krok 1: Inicjalizacja indeksu

Index reprezentuje przeszukiwalną kolekcję dokumentów i ich powiązanych metadanych.

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");

Krok 2: Modyfikacja atrybutów

AttributeChangeBatch jest klasą, która grupuje aktualizacje atrybutów w celu zwiększenia wydajności.

Definicja: AttributeChangeBatch grupuje operacje dodawania, aktualizacji i usuwania atrybutów dokumentu w jednej transakcji.

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);

Krok 3: Wyszukiwanie z filtrami atrybutów

Możesz filtrować wyniki wyszukiwania według wartości atrybutów przy użyciu SearchOptions.

Bezpośrednia odpowiedź: Aby wyszukać dokumenty zawierające atrybut Category = "Legal", skonfiguruj SearchOptions z AttributeFilter i wywołaj searcher.Search("contract", options). Zwróci to tylko umowy oznaczone jako prawne, redukując szum wyników i optymalizując wydajność wyszukiwania.

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

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

Funkcja 2: Dodawanie atrybutów podczas indeksowania

Przegląd

Dodawanie atrybutów w momencie indeksowania zapewnia, że każdy dokument jest od razu wzbogacony o odpowiednie metadane, eliminując potrzebę późniejszych masowych aktualizacji.

Krok 1: Konfiguracja obsługi zdarzeń dla indeksowania

Definicja: Zdarzenie DocumentIndexed jest wywoływane za każdym razem, gdy dokument zostanie pomyślnie dodany do indeksu, umożliwiając uruchomienie własnej logiki.

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");

Krok 2: Konfiguracja i wykonanie wyszukiwania

Po dołączeniu atrybutów możesz wyszukiwać przy użyciu tych nowych pól.

Bezpośrednia odpowiedź: Użyj SearchOptions z AttributeFilter, aby zapytać o nowo dodane atrybuty, np. AttributeFilter("Department", "Finance"). Zwróci to tylko pliki związane z finansami, demonstrując jak indeksować atrybuty dla szybszych, bardziej istotnych wyników.

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

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

Praktyczne zastosowania

Oto trzy typowe scenariusze, w których zarządzanie atrybutami dokumentów i redagowanie razem przynosi wymierną wartość biznesową:

  1. Zarządzanie dokumentami prawnymi – Automatyczne redagowanie poufnych klauzul i oznaczanie umów według jurysdykcji, umożliwiając prawnikom odnalezienie tylko istotnych plików.
  2. Organizacja rekordów medycznych – Redagowanie identyfikatorów pacjentów przy jednoczesnym dodawaniu atrybutów takich jak PatientID i VisitDate w celu zapewnienia zgodnego i szybkiego dostępu.
  3. Katalogowanie produktów w e‑commerce – Redagowanie informacji o cenach dostawców i oznaczanie produktów atrybutami StockStatus lub DiscountRate podczas masowego importu, co umożliwia zapytania o stan magazynu w czasie rzeczywistym.

Rozważania dotyczące wydajności

Podczas pracy z dużymi zestawami danych, pamiętaj o następujących najlepszych praktykach:

  • Przetwarzanie wsadowe: AttributeChangeBatch zmniejsza liczbę zapytań do indeksu, skracając czas przetwarzania nawet o 45 % przy partiach 100 k dokumentów.
  • Selektywne indeksowanie: Indeksuj tylko dokumenty, które potrzebują nowych atrybutów; pomijaj niezmienione pliki, aby oszczędzać CPU i I/O.
  • Zarządzanie pamięcią: Zwolnij instancje SearchResult, Redactor i Indexer tak szybko, jak tylko zakończysz ich użycie, aby zwolnić zasoby niezarządzane.

Częste problemy i rozwiązania

ProblemPrzyczynaRozwiązanie
Redagowanie nie ukrywa tekstuNieprawidłowe współrzędne RedactionRegionZweryfikuj wymiary strony za pomocą Redactor.GetPageSize() przed zdefiniowaniem regionu.
Zmiany atrybutów nie są odzwierciedlane w wyszukiwaniuIndeks nie został odświeżonyWywołaj searcher.Refresh() po wykonaniu AttributeChangeBatch.
Błędy braku pamięci przy dużych plikachŁadowanie całego pliku do pamięciWłącz tryb strumieniowy, ustawiając RedactorOptions.Stream = true.

Najczęściej zadawane pytania

Q: Jaki jest najlepszy sposób na wsadowe redagowanie wielu plików PDF?
A: Załaduj każdy plik przy użyciu Redactor, dodaj RedactionRegion dla każdego wrażliwego obszaru, a następnie wywołaj Redactor.Apply() w pętli; takie podejście przetwarza tysiące plików przy minimalnym zużyciu pamięci.

Q: Czy mogę połączyć redagowanie z filtrowaniem atrybutów w jednym zapytaniu?
A: Tak. Po redagowaniu dokument zachowuje swoje metadane, więc możesz wyszukiwać jednocześnie przy użyciu terminów tekstowych i AttributeFilter.

Q: Jak obsłużyć dokumenty zabezpieczone hasłem?
A: Przekaż hasło do konstruktora Redactor; biblioteka automatycznie odszyfruje, zredaguje i ponownie zaszyfruje plik.

Q: Czy GroupDocs obsługuje OCR dla zeskanowanych obrazów przed redagowaniem?
A: Zdecydowanie. Włącz RedactorOptions.Ocr = true, aby rozpoznać tekst na obrazach, a następnie zastosuj reguły redagowania do wyodrębnionego tekstu.

Q: Które wersje .NET są oficjalnie wspierane?
A: GroupDocs.Redaction i GroupDocs.Search wspierają .NET Core 3.1, .NET 5, .NET 6 i .NET 7, a także .NET Framework 4.6.2+.

Zakończenie

Masz teraz kompleksowe rozwiązanie do redagowania dokumentów przy jednoczesnym optymalizowaniu wydajności wyszukiwania i indeksowaniu atrybutów przy użyciu GroupDocs.Redaction i GroupDocs.Search. Postępując zgodnie z powyższymi krokami, możesz chronić wrażliwe dane, wzbogacać indeks wyszukiwania o istotne metadane oraz utrzymywać swoje aplikacje .NET szybkie i bezpieczne.


Ostatnia aktualizacja: 2026-06-22
Testowano z: GroupDocs.Redaction 2.5.0 + GroupDocs.Search 2.5.0 for .NET
Autor: GroupDocs

Powiązane samouczki