Lorsque vous devez masquer du texte sensible d’un PDF sous Linux, vous pouvez exécuter GroupDocs.Redaction for .NET à l’intérieur d’un conteneur Docker. Ce tutoriel montre comment créer le projet à partir de zéro, ajouter un fichier PDF, masquer une phrase exacte avec une boîte noire et exécuter l’application dans un conteneur Linux avec .NET 10.
Une version complète et fonctionnelle du projet est également disponible sur GitHub.
1. Créer un projet console .NET avec prise en charge Docker
Vous pouvez créer le projet à l’aide de Visual Studio ou du .NET CLI.
Utilisation de Visual Studio
Créez un nouveau projet Console App et sélectionnez .NET 10.0 comme framework cible.
Sur l’écran des options supplémentaires, activez Enable container support ou Add Docker support (le nom de l’option peut varier selon votre version de Visual Studio).
Sélectionnez Linux comme système d’exploitation cible pour le conteneur.
Créez le projet. Visual Studio générera les fichiers de configuration Docker nécessaires, y compris un Dockerfile.
Utilisation du .NET CLI
Créez une nouvelle application console .NET 10 et placez‑vous dans le répertoire du projet :
dotnet new console -n PdfRedactionDocker
cd PdfRedactionDocker
Si vous utilisez le CLI, ajoutez manuellement un Dockerfile à la racine du projet. Vous le configurerez dans les étapes suivantes pour compiler, publier et exécuter l’application à l’intérieur d’un conteneur Linux.
La structure du projet résultante doit ressembler à ceci :
PdfRedactionDocker/
├── Dockerfile
├── PdfRedactionDocker.csproj
└── Program.cs
2. Installer GroupDocs.Redaction
Ajoutez GroupDocs.Redaction for .NET à votre projet en utilisant Visual Studio ou le .NET CLI.
Utilisation de Visual Studio
- Faites un clic droit sur le projet dans Solution Explorer.
- Sélectionnez Manage NuGet Packages.
- Recherchez
GroupDocs.Redactionet installez le package.
Utilisation du .NET CLI
Exécutez la commande suivante depuis le répertoire du projet :
dotnet add package GroupDocs.Redaction
Le package fournit la classe Redactor pour charger et traiter les documents, ainsi que diverses classes et options pour configurer et appliquer les masquages.
3. Ajouter le fichier PDF
Placez le PDF que vous souhaitez traiter dans le répertoire du projet et nommez‑le :
document.pdf
L’application recherchera cette phrase à masquer dans ce fichier et créera document_Redacted.pdf avec le résultat.
Dans cet exemple, le PDF contient le mot gap.
4. Ajouter le code de masquage
Ouvrez Program.cs et remplacez son contenu par :
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 recherche le PDF pour la phrase spécifiée. La recherche n’est pas sensible à la casse par défaut, donc gap et Gap correspondent au même texte.
ReplacementOptions(Color.Black) applique un masquage par boîte noire à chaque correspondance au lieu de remplacer le texte par une autre chaîne.
SaveOptions.AddSuffix ajoute le suffixe _Redacted au nom du fichier de sortie, de sorte que le résultat soit enregistré sous :
document_Redacted.pdf
Le fichier original document.pdf reste inchangé.
La méthode Apply renvoie le statut du masquage. Vérifiez ce résultat dans le code de production avant de considérer la sortie comme correctement masquée. Save peut tout de même créer un fichier de sortie si le masquage n’a pas été appliqué.
5. Configurer le Dockerfile
Utilisez le Dockerfile suivant comme exemple pour compiler et exécuter votre application .NET 10 dans un conteneur Linux.
L’exemple inclut les étapes nécessaires pour installer les bibliothèques Linux et les polices requises par GroupDocs.Redaction pour le traitement des documents.
Vous pouvez trouver le Dockerfile complet ici.
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
L’image Docker inclut les bibliothèques natives, le support des polices et les autres dépendances requises pour exécuter le code de traitement de documents dans un conteneur Linux.
6. Construire l’image de l’application
Vous pouvez construire l’image Docker en utilisant Visual Studio ou le Docker CLI.
Utilisation de Visual Studio
Si la prise en charge Docker a été activée lors de la création du projet, sélectionnez le profil Docker dans la liste déroulante Debug ou Run et lancez le projet. Visual Studio construira l’image Docker et exécutera l’application dans le conteneur Linux configuré.
Utilisation du Docker CLI
Ouvrez un terminal dans le répertoire du projet et exécutez :
docker build -t PdfRedactionDocker .
Docker utilise le Dockerfile pour créer l’image Linux et installer les dépendances requises.
7. Exécuter le conteneur
Si vous utilisez le Docker CLI, lancez l’application en montant le répertoire du projet dans le conteneur :
docker run --rm \
-v "${PWD}:/data" \
-w /data \
--entrypoint dotnet \
PdfRedactionDocker \
/app/PdfRedactionDocker.dll
Le répertoire du projet est monté à /data et utilisé comme répertoire de travail du conteneur. L’application lit donc le fichier source depuis :
/data/document.pdf
et enregistre le fichier masqué dans :
/data/document_Redacted.pdf
Comme /data est mappé au répertoire du projet sur l’hôte, le PDF masqué apparaît à côté du fichier source.
Sous Windows PowerShell, ${PWD} s’étend au répertoire de travail actuel. Exécutez la commande depuis le répertoire du projet.
8. Vérifier le PDF masqué
Après la fin de l’exécution de l’application, ouvrez :
document_Redacted.pdf
La phrase spécifiée doit être recouverte d’un rectangle noir, tandis que le fichier original document.pdf reste inchangé.
Vous pouvez désormais utiliser la même approche pour intégrer PDF text redaction with GroupDocs.Redaction for .NET dans une application Docker basée sur Linux.
Licensing
Sans licence, GroupDocs.Redaction for .NET fonctionne en mode d’évaluation. La version d’évaluation comporte des limites d’utilisation et ajoute un filigrane au document enregistré.
Une licence temporaire de 30 jours est disponible sur la page de licence temporaire GroupDocs. Les informations tarifaires sont disponibles sur la page d’achat GroupDocs.Redaction for .NET.