Rédaction de documents PDF à l'aide de C#

Vous pouvez expurger des documents PDF par programmation sans installer d’applications externes. En tant que développeur C#, vous pouvez facilement rédiger vos documents PDF dans vos applications .NET. Cet article se concentrera sur comment rédiger des documents PDF à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C# pour la rédaction de PDF

Pour la rédaction dans les documents PDF, j’utiliserai l’API GroupDocs.Redaction for .NET. Il vous permet de rédiger des fichiers PDF, Word, Excel, PowerPoint et image. Il vous permet également de supprimer les informations classifiées de plus de 30 types de formats pris en charge. Vous pouvez appliquer différents types de masquage, tels que le masquage de texte, le masquage de métadonnées, le masquage d’annotations et le masquage de documents tabulaires.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package GroupDocs.Redaction

Rédaction de texte dans un PDF à l’aide de C#

Vous pouvez facilement appliquer la rédaction de texte dans des documents PDF en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment biffer du texte dans un document PDF à l’aide de C#.

// créer un rédacteur
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// créer une rédaction exacte de la phrase
ExactPhraseRedaction redaction = new ExactPhraseRedaction("John Doe", true, new ReplacementOptions("[personal]"));

// appliquer la rédaction
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Rédaction de texte dans un PDF à l'aide de C#

Rédaction de texte dans un PDF à l’aide de C#

Le Redactor est la classe principale qui fournit diverses méthodes pour effectuer le processus de rédaction du document. Il vous permet également d’ouvrir, de rédiger et d’enregistrer des documents. La méthode Apply() de cette classe applique la rédaction définie au document. De plus, la méthode Save() de cette classe enregistre le document dans un fichier.

Le ExactPhraseRedaction fournit des méthodes pour effectuer une rédaction de texte pour remplacer une phrase exacte dans le document. Il permet également de rechercher des données sensibles à la casse en définissant IsCaseSensitive sur true.

Les ReplacementOptions représentent les options de remplacement de texte correspondant. La classe RedactorChangeLog représente les résultats d’une liste de caviardages, transmise à la méthode Apply() de la classe Redactor.

Rédaction des métadonnées en PDF en utilisant C#

Vous pouvez appliquer la rédaction des métadonnées dans les documents PDF en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment masquer les métadonnées dans un document PDF à l’aide de C#.

// créer un rédacteur
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// effacer l'auteur, le gérant et l'entreprise
EraseMetadataRedaction redaction = new EraseMetadataRedaction(MetadataFilters.Author | MetadataFilters.Manager | MetadataFilters.Company);

// appliquer la rédaction
redactor.Apply(redaction);
redactor.Save();
Rédiger les métadonnées dans un PDF à l'aide de C#

Rédiger les métadonnées dans un PDF à l’aide de C#

La classe EraseMetadataRedaction fournit des méthodes pour effacer toutes les métadonnées. Il permet également d’effacer les métadonnées correspondant à des MetadataFilters spécifiques du document.

Les MetadataFilters sont une liste des types de métadonnées de document les plus courants tels que Auteur, Commentaires, Société.

Masquer des images dans un PDF à l’aide de C#

Vous pouvez appliquer la rédaction d’image dans les documents PDF en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment masquer des images dans un document PDF à l’aide de C#.

// créer un rédacteur
Redactor redactor = new Redactor("C:\\Files\\sample_with_images.pdf");

// définir la taille et les points
System.Drawing.Point samplePoint = new System.Drawing.Point(0, 0);
System.Drawing.Size sampleSize = new System.Drawing.Size(300, 240);

// définir la rédaction de la zone d'image
ImageAreaRedaction redaction = new ImageAreaRedaction(samplePoint,
             new RegionReplacementOptions(System.Drawing.Color.Blue, sampleSize));

// appliquer la rédaction
RedactorChangeLog result = redactor.Apply(redaction);

if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Masquer des images dans un PDF à l'aide de C#

Masquer des images dans un PDF à l’aide de C#

La classe ImageAreaRedaction permet de placer un rectangle coloré dans une zone donnée d’un document image.

La classe RegionReplacementOption représente les paramètres de couleur et de zone pour une région à remplacer par une image.

Appliquer plusieurs expurgations dans un PDF à l’aide de C#

Vous pouvez appliquer plusieurs caviardages dans des documents PDF en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment appliquer plusieurs caviardages dans un document PDF à l’aide de C#.

// créer un rédacteur
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// définir plusieurs caviardages
var redactionList = new Redaction[]
{
    new ExactPhraseRedaction("John Doe", new ReplacementOptions("[Client]")),
    new RegexRedaction("Redaction", new ReplacementOptions("[Product]")),
    new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(System.Drawing.Color.Blue)),
    new EraseMetadataRedaction(MetadataFilters.All)
};

// appliquer les caviardages
RedactorChangeLog result = redactor.Apply(redactionList);

// enregistrer si appliqué sinon afficher les erreurs
if (result.Status == RedactionStatus.Applied)
{
    redactor.Save();
}
else if (result.Status == RedactionStatus.Failed)
{
    for (int i = 0; i < result.RedactionLog.Count; i++)
    {
        RedactorLogEntry logEntry = result.RedactionLog[i];
        if (logEntry.Result.Status != RedactionStatus.Applied)
        {
            Console.WriteLine("{0} status is {1}, details: {2}",
                logEntry.Redaction.GetType().Name,
                logEntry.Result.Status,
                logEntry.Result.ErrorMessage);
        }
    }
};
Appliquer plusieurs expurgations dans un PDF à l'aide de C#

Appliquer plusieurs expurgations dans un PDF à l’aide de C#

La classe RegexRedaction permet d’effectuer une rédaction de texte. Vous pouvez rechercher et remplacer n’importe quel texte dans le document en faisant correspondre un texte à l’aide d’une expression régulière.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment biffer des documents PDF à l’aide de C#. Vous avez également appris à biffer du texte, des métadonnées et des images dans des documents PDF. De plus, vous avez appris à appliquer plusieurs caviardages dans un PDF à l’aide de C#. Vous pouvez en savoir plus sur GroupDocs.Redaction pour l’API .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également