Comment définir un mot de passe et des autorisations sur un PDF ?

Chaknith Bin
Chaknith Bin
février 12, 2023
Mise à jour décembre 10, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

La protection par mot de passe consiste à crypter le document pour en limiter l'accès non autorisé. Il inclut généralement deux types de mots de passe : le mot de passe utilisateur (ou mot de passe d'ouverture), requis pour ouvrir le document, et le mot de passe propriétaire (ou mot de passe de permissions), qui contrôle les permissions pour l'édition, l'impression et d'autres actions.

IronPDF prend en charge tout ce dont vous avez besoin en matière de mot de passe et de permissions pour vos fichiers PDF existants et nouveaux. Des métadonnées granulaires et des paramètres de sécurité peuvent être appliqués, y compris la possibilité de limiter les documents PDF à l'impossibilité de les imprimer, à la lecture seule et au cryptage ; le cryptage 128 bits, le décryptage et la protection par mot de passe sont tous pris en charge.

Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer



Définir un mot de passe pour un PDF

Nous avons un exemple de fichier PDF que nous voulons protéger en utilisant IronPDF. Exécutons le code suivant pour ajouter un mot de passe au PDF. Dans cet exemple, nous utiliserons le mot de passe password123.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-permissions-passwords-add-password.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Secret Information:</h1> Hello World");

// Password to edit the pdf
pdf.SecuritySettings.OwnerPassword = "123password";

// Password to open the pdf
pdf.SecuritySettings.UserPassword = "password123";

pdf.SaveAs("protected.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Secret Information:</h1> Hello World")

' Password to edit the pdf
pdf.SecuritySettings.OwnerPassword = "123password"

' Password to open the pdf
pdf.SecuritySettings.UserPassword = "password123"

pdf.SaveAs("protected.pdf")
$vbLabelText   $csharpLabel

Le résultat est le PDF suivant que vous pouvez visualiser en tapant le mot de passe password123.

Ouvrir un PDF avec mot de passe

Cette section décrit comment ouvrir un PDF contenant un mot de passe. La méthode PdfDocument.FromFile a un deuxième paramètre optionnel qui est le mot de passe. Indiquez le mot de passe correct dans ce paramètre pour ouvrir le PDF.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-permissions-passwords-open-password.cs
using IronPdf;

var pdf = PdfDocument.FromFile("protected.pdf", "password123");

//... perform PDF-tasks

pdf.SaveAs("protected_2.pdf"); // Saved as another file
Imports IronPdf

Private pdf = PdfDocument.FromFile("protected.pdf", "password123")

'... perform PDF-tasks

pdf.SaveAs("protected_2.pdf") ' Saved as another file
$vbLabelText   $csharpLabel

Paramètres avancés de sécurité et de permissions

L'objet PdfDocument possède également des champs de métadonnées que vous pouvez définir comme Author et ModifiedDate. Vous pouvez également désactiver les annotations de l'utilisateur, l'impression par l'utilisateur, et bien d'autres choses encore, comme indiqué ci-dessous :

:path=/static-assets/pdf/content-code-examples/how-to/pdf-permissions-passwords-advanced.cs
using IronPdf;

// Open an Encrypted File, alternatively create a new PDF from HTML
var pdf = PdfDocument.FromFile("protected.pdf", "password123");

// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Save the secure PDF
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Open an Encrypted File, alternatively create a new PDF from HTML
Private pdf = PdfDocument.FromFile("protected.pdf", "password123")

' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights

' Save the secure PDF
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

Le paramètre des autorisations est lié au mot de passe du document et se comporte comme suit. Par exemple, définir la propriété AllowUserCopyPasteContent sur false a pour but d'empêcher la copie/coller du contenu :

  • Aucun mot de passe défini : Sans mot de passe, le copier/coller de contenu reste bloqué.
  • Mot de passe utilisateur défini : Lorsqu'un mot de passe utilisateur est défini, entrer le mot de passe correct permettra de copier/coller le contenu.
  • Mot de passe du propriétaire défini : Lorsqu'un mot de passe propriétaire est défini, entrer uniquement le mot de passe utilisateur ne débloquera pas la fonction de copie/coller. Toutefois, la saisie du mot de passe propriétaire correct permet de copier/coller le contenu.
    Fenêtre des autorisations

    Un article étroitement lié traite des métadonnées prédéfinies et personnalisées. En savoir plus en suivant ce lien : "Comment définir et modifier les métadonnées PDF."

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.