Když potřebujete na Linuxu zakrýt citlivý text v PDF, můžete spustit GroupDocs.Redaction for .NET v Docker kontejneru. Tento tutoriál ukazuje, jak vytvořit projekt od nuly, přidat PDF soubor, zakrýt přesnou frázi černým rámečkem a spustit aplikaci v Linux kontejneru s .NET 10.
Kompletní funkční verze projektu je také k dispozici na GitHub.
1. Vytvoření .NET Console projektu s podporou Dockeru
Projekt můžete vytvořit pomocí Visual Studio nebo .NET CLI.
Použití Visual Studio
- Vytvořte nový projekt Console App a jako cílový framework zvolte .NET 10.0.
- Na obrazovce s dalšími možnostmi povolte Enable container support nebo Add Docker support (název volby se může lišit podle verze Visual Studio).
- Vyberte Linux jako cílový operační systém pro kontejner.
- Projekt vytvořte. Visual Studio vygeneruje potřebné Docker konfigurační soubory, včetně Dockerfile.
Použití .NET CLI
dotnet new console -n PdfRedactionDocker
cd PdfRedactionDocker
Pokud používáte CLI, přidejte Dockerfile do kořenového adresáře projektu ručně. V následujících krocích jej nakonfigurujete pro sestavení, publikaci a spuštění aplikace v Linux kontejneru.
Výsledná struktura projektu by měla vypadat takto:
PdfRedactionDocker/
├── Dockerfile
├── PdfRedactionDocker.csproj
└── Program.cs
2. Instalace GroupDocs.Redaction
Přidejte GroupDocs.Redaction for .NET do svého projektu pomocí Visual Studio nebo .NET CLI.
Použití Visual Studio
- Klikněte pravým tlačítkem na projekt v Solution Explorer.
- Vyberte Manage NuGet Packages.
- Vyhledejte
GroupDocs.Redactiona nainstalujte balíček.
Použití .NET CLI
dotnet add package GroupDocs.Redaction
Balíček poskytuje třídu Redactor pro načítání a zpracování dokumentů spolu s různými třídami a možnostmi pro konfiguraci a aplikaci zakrytí.
3. Přidání PDF souboru
Umístěte PDF, který chcete zpracovat, do adresáře projektu a pojmenujte jej:
document.pdf
Aplikace bude tento soubor prohledávat na frázi k zakrytí a vytvoří document_Redacted.pdf s výsledkem.
Pro tento příklad PDF obsahuje slovo gap.
4. Přidání kódu pro zakrytí
Otevřete Program.cs a nahraďte jeho obsah následujícím kódem:
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 prohledává PDF podle zadané fráze. Vyhledávání je ve výchozím nastavení necitlivé na velikost písmen, takže gap i Gap odpovídají stejnému textu.
ReplacementOptions(Color.Black) použije černý rámeček pro každou nalezenou shodu místo nahrazení textu jiným řetězcem.
SaveOptions.AddSuffix přidá _Redacted k názvu výstupního souboru, takže výsledek bude uložen jako:
document_Redacted.pdf
Původní document.pdf zůstane beze změny.
Metoda Apply vrací stav zakrytí. V produkčním kódu byste měli tento výsledek zkontrolovat, než budete považovat výstup za úspěšně zakrytý. Save může i tak vytvořit výstupní soubor, pokud zakrytí nebylo aplikováno.
5. Konfigurace Dockerfile
Použijte následující Dockerfile jako ukázku pro sestavení a spuštění vaší .NET 10 aplikace v Linux kontejneru.
Příklad zahrnuje kroky potřebné k instalaci Linux knihoven a fontů, které GroupDocs.Redaction vyžaduje pro zpracování dokumentů.
Kompletní Dockerfile najdete zde.
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
Docker image obsahuje nativní knihovny, podporu fontů a další závislosti potřebné pro spuštění kódu pro zpracování dokumentů v Linux kontejneru.
6. Sestavení image aplikace
Image Dockeru můžete sestavit buď pomocí Visual Studio, nebo Docker CLI.
Použití Visual Studio
Pokud byla podpora Dockeru povolena při vytváření projektu, vyberte Docker profil v rozbalovacím seznamu Debug nebo Run a spusťte projekt. Visual Studio sestaví Docker image a spustí aplikaci v nakonfigurovaném Linux kontejneru.
Použití Docker CLI
Otevřete terminál v adresáři projektu a spusťte:
docker build -t PdfRedactionDocker .
Docker použije Dockerfile k vytvoření Linux image a instalaci požadovaných závislostí.
7. Spuštění kontejneru
Pokud používáte Docker CLI, spusťte aplikaci s připojeným adresářem projektu do kontejneru:
docker run --rm \
-v "${PWD}:/data" \
-w /data \
--entrypoint dotnet \
PdfRedactionDocker \
/app/PdfRedactionDocker.dll
Adresář projektu je připojen na /data a slouží jako pracovní adresář kontejneru. Aplikace tedy čte zdrojový soubor z:
/data/document.pdf
a ukládá zakrytý soubor do:
/data/document_Redacted.pdf
Protože /data je mapováno na adresář projektu na hostiteli, zakrytý PDF se objeví vedle původního souboru.
V PowerShellu na Windows ${PWD} rozšíří na aktuální pracovní adresář. Spusťte příkaz z adresáře projektu.
8. Kontrola zakrytého PDF
Po dokončení aplikace otevřete:
document_Redacted.pdf
Zadaná fráze by měla být zakryta černým obdélníkem, zatímco původní document.pdf zůstane beze změny.
Nyní můžete stejný postup použít k integraci PDF text redaction with GroupDocs.Redaction for .NET do Docker aplikace běžící na Linuxu.
Licencování
Bez licence běží GroupDocs.Redaction for .NET v evaluačním režimu. Evaluační verze má omezení používání a přidává vodoznak do uloženého dokumentu.
30‑denní dočasná licence je k dispozici na GroupDocs temporary license page. Informace o cenách najdete na stránce nákupu GroupDocs.Redaction for .NET purchase page.