Wenn Sie sensible Texte aus einer PDF unter Linux schwärzen müssen, können Sie GroupDocs.Redaction for .NET in einem Docker‑Container ausführen. Dieses Tutorial zeigt, wie Sie das Projekt von Grund auf erstellen, eine PDF‑Datei hinzufügen, eine exakte Phrase mit einem schwarzen Kasten schwärzen und die Anwendung in einem Linux‑Container mit .NET 10 ausführen.

Eine vollständige, funktionierende Version des Projekts ist ebenfalls auf GitHub verfügbar.

1. Erstellen eines .NET‑Konsolenprojekts mit Docker‑Unterstützung

Sie können das Projekt mit Visual Studio oder der .NET‑CLI erstellen.

Verwendung von Visual Studio

Erstellen Sie ein neues Console‑App‑Projekt und wählen Sie .NET 10.0 als Ziel‑Framework.
Im Bildschirm für zusätzliche Optionen aktivieren Sie Enable container support oder Add Docker support (der Optionsname kann je nach Visual Studio‑Version variieren).
Wählen Sie Linux als Ziel‑Betriebssystem für den Container.
Erstellen Sie das Projekt. Visual Studio generiert die erforderlichen Docker‑Konfigurationsdateien, einschließlich einer Dockerfile.

Verwendung der .NET‑CLI

Erstellen Sie eine neue .NET 10‑Konsolenanwendung und navigieren Sie zum Projektverzeichnis:

dotnet new console -n PdfRedactionDocker
cd PdfRedactionDocker

Wenn Sie die CLI verwenden, fügen Sie manuell eine Dockerfile zum Projekt‑Root‑Verzeichnis hinzu. Sie werden sie in den folgenden Schritten konfigurieren, um die Anwendung zu bauen, zu veröffentlichen und in einem Linux‑Container auszuführen.

Die resultierende Projektstruktur sollte wie folgt aussehen:

PdfRedactionDocker/ ├── Dockerfile ├── PdfRedactionDocker.csproj └── Program.cs

2. Installieren von GroupDocs.Redaction

Fügen Sie GroupDocs.Redaction for .NET Ihrem Projekt hinzu, entweder über Visual Studio oder die .NET‑CLI.

Verwendung von Visual Studio

  1. Klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt.
  2. Wählen Sie Manage NuGet Packages.
  3. Suchen Sie nach GroupDocs.Redaction und installieren Sie das Paket.

Verwendung der .NET‑CLI

Führen Sie den folgenden Befehl im Projektverzeichnis aus:

dotnet add package GroupDocs.Redaction

Das Paket stellt die Klasse Redactor zum Laden und Verarbeiten von Dokumenten bereit, zusammen mit verschiedenen Klassen und Optionen zur Konfiguration und Anwendung von Schwärzungen.

3. PDF‑Datei hinzufügen

Legen Sie die PDF, die Sie verarbeiten möchten, im Projektverzeichnis ab und benennen Sie sie:

document.pdf

Die Anwendung sucht in dieser Datei nach der zu schwärzenden Phrase und erstellt document_Redacted.pdf mit dem Ergebnis.

Für dieses Beispiel enthält die PDF das Wort gap.

4. Redaktions‑Code hinzufügen

Öffnen Sie Program.cs und ersetzen Sie den Inhalt durch:

using GroupDocs.Redaction;
using GroupDocs.Redaction.Options;
using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

using (Redactor redactor = new Redactor("document.pdf"))
{
    redactor.Apply(
        new ExactPhraseRedaction(
            "gap",
            new ReplacementOptions(Color.Black)));

    var saveOptions = new SaveOptions() { AddSuffix = true };
    var outputFile = redactor.Save(saveOptions);
}

ExactPhraseRedaction durchsucht die PDF nach der angegebenen Phrase. Die Suche ist standardmäßig nicht case‑sensitive, sodass gap und Gap denselben Text treffen.

ReplacementOptions(Color.Black) wendet eine schwarze Kasten‑Schwärzung auf jede Übereinstimmung an, anstatt den Text durch einen anderen String zu ersetzen.

SaveOptions.AddSuffix fügt dem Ausgabedateinamen _Redacted hinzu, sodass das Ergebnis gespeichert wird als:

document_Redacted.pdf

Die ursprüngliche document.pdf bleibt unverändert.

Die Methode Apply gibt den Schwärzungsstatus zurück. Überprüfen Sie dieses Ergebnis im Produktionscode, bevor Sie die Ausgabe als erfolgreich geschwärzt behandeln. Save kann dennoch eine Ausgabedatei erstellen, wenn die Schwärzung nicht angewendet wurde.

5. Dockerfile konfigurieren

Verwenden Sie die folgende Dockerfile als Beispiel zum Erstellen und Ausführen Ihrer .NET 10‑Anwendung in einem Linux‑Container.

Das Beispiel enthält die Schritte, die erforderlich sind, um die Linux‑Bibliotheken und Schriftarten zu installieren, die GroupDocs.Redaction für die Dokumentenverarbeitung benötigt.

Die vollständige Dockerfile finden Sie hier.

FROM mcr.microsoft.com/dotnet/runtime:10.0 AS base

USER root

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        fontconfig \
        libfreetype6 \
        libgdiplus \
        libc6-dev \
        libx11-dev \
        software-properties-common \
    && echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections \
    && apt-add-repository multiverse \
    && apt-get update \
    && apt-get install -y ttf-mscorefonts-installer fonts-lato \
    && fc-cache -f \
    && dir="$(dirname "$(find /usr/lib /lib -name 'libdl.so.2' 2>/dev/null | head -n1)")" \
    && ln -sf "$dir/libdl.so.2" "$dir/libdl.so" \
    && rm -rf /var/lib/apt/lists/*

USER $APP_UID

WORKDIR /app

Das Docker‑Image enthält die nativen Bibliotheken, Schriftunterstützung und weitere Abhängigkeiten, die zum Ausführen von Dokumentenverarbeitungscode in einem Linux‑Container erforderlich sind.

6. Anwendungs‑Image bauen

Sie können das Docker‑Image entweder mit Visual Studio oder der Docker‑CLI erstellen.

Verwendung von Visual Studio

Wenn Docker‑Unterstützung beim Erstellen des Projekts aktiviert wurde, wählen Sie das Docker‑Profil aus dem Debug‑ oder Run‑Dropdown und starten Sie das Projekt. Visual Studio baut das Docker‑Image und führt die Anwendung im konfigurierten Linux‑Container aus.

Verwendung der Docker‑CLI

Öffnen Sie ein Terminal im Projektverzeichnis und führen Sie aus:

docker build -t PdfRedactionDocker .

Docker verwendet die Dockerfile, um das Linux‑Image zu erstellen und die erforderlichen Abhängigkeiten zu installieren.

7. Container ausführen

Wenn Sie die Docker‑CLI verwenden, führen Sie die Anwendung aus, indem Sie das Projektverzeichnis in den Container einbinden:

docker run --rm \
  -v "${PWD}:/data" \
  -w /data \
  --entrypoint dotnet \
  PdfRedactionDocker \
  /app/PdfRedactionDocker.dll

Das Projektverzeichnis wird unter /data eingehängt und als Arbeitsverzeichnis des Containers verwendet. Die Anwendung liest die Quelldatei daher von:

/data/document.pdf

und speichert die geschwärzte Datei nach:

/data/document_Redacted.pdf

Da /data auf das Projektverzeichnis des Hosts gemappt ist, erscheint die geschwärzte PDF neben der Quelldatei.

In Windows PowerShell wird ${PWD} zum aktuellen Arbeitsverzeichnis expandiert. Führen Sie den Befehl aus dem Projektverzeichnis aus.

8. Die geschwärzte PDF prüfen

Nachdem die Anwendung beendet ist, öffnen Sie:

document_Redacted.pdf

Die angegebene Phrase sollte von einem schwarzen Rechteck überdeckt sein, während die ursprüngliche document.pdf unverändert bleibt.

Sie können nun denselben Ansatz verwenden, um PDF‑Text‑Schwärzung mit GroupDocs.Redaction for .NET in eine Linux‑basierte Docker‑Anwendung zu integrieren.

Lizenzierung

Ohne Lizenz läuft GroupDocs.Redaction for .NET im Evaluierungsmodus. Die Evaluierungsversion hat Nutzungslimits und fügt dem gespeicherten Dokument ein Wasserzeichen hinzu.

Eine 30‑tägige temporäre Lizenz ist auf der GroupDocs temporary license page verfügbar. Preis‑Informationen finden Sie auf der GroupDocs.Redaction for .NET purchase page.

Mehr erfahren