How to Protect PDF Files with Passwords and Permissions in C# | IronPDF Tutorial

Jak ustawić hasła i uprawnienia do plików PDF w języku C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF umożliwia zabezpieczanie dokumentów PDF hasłami i uprawnieniami w języku C#, obsługując zarówno hasła użytkownika do otwierania plików, jak i hasła właściciela do kontrolowania praw do edycji, drukowania i kopiowania przy użyciu 128-bitowego szyfrowania. Ta kompleksowa funkcja bezpieczeństwa pozwala programistom wdrażać strategie ochrony dokumentów, które spełniają wymagania zgodności w Enterprise.

Ochrona hasłem polega na szyfrowaniu dokumentu w celu ograniczenia nieautoryzowanego dostępu. Zazwyczaj obejmuje to dwa rodzaje haseł: hasło użytkownika (lub hasło otwarcia), wymagane do otwarcia dokumentu, oraz hasło właściciela (lub hasło uprawnień), które kontroluje uprawnienia do edycji, drukowania i innych czynności. Zrozumienie tych różnych typów haseł ma kluczowe znaczenie podczas wdrażania zabezpieczeń PDF w aplikacjach .NET.

IronPDF obsługuje wszystkie funkcje związane z hasłami i uprawnieniami dla istniejących i nowych plików PDF. Można zastosować szczegółowe ustawienia metadanych i zabezpieczeń, w tym możliwość ograniczenia dokumentów PDF tak, aby nie można ich było drukować, były tylko do odczytu i były zaszyfrowane. Obsługiwane są 128-bitowe szyfrowanie, deszyfrowanie oraz ochrona hasłem. Funkcje te płynnie integrują się z innymi możliwościami IronPDF, takimi jak podpisy cyfrowe i kompresja plików PDF.

Szybki start: Ustawianie haseł i uprawnień do plików PDF za pomocą IronPDF

Zacznij korzystać z IronPDF, aby szybko zabezpieczyć swoje dokumenty. Ten przykład pokazuje, jak ustawić hasła użytkownika i właściciela podczas konfigurowania uprawnień, aby zapobiec nieautoryzowanemu drukowaniu. Postępując zgodnie z tymi prostymi krokami, możesz skutecznie chronić swoje pliki PDF za pomocą C# .NET, zapewniając poufność swoich wrażliwych danych. IronPDF ułatwia wdrażanie solidnych zabezpieczeń w aplikacjach, niezależnie od tego, czy pracujesz nad konwersją plików HTML do formatu PDF, czy nad istniejącymi dokumentami.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    var pdf = IronPdf.PdfDocument.FromFile("document.pdf");
    pdf.SecuritySettings.OwnerPassword = "owner123";
    pdf.SecuritySettings.UserPassword = "user123";
    pdf.SecuritySettings.Permissions = IronPdf.Security.Permissions.NoPrinting;
    pdf.SaveAs("secured_document.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak ustawić hasło dla pliku PDF?

Jaka jest różnica między hasłem użytkownika a hasłem właściciela?

Hasło użytkownika (znane również jako hasło otwarcia) jest wymagane do otwarcia i wyświetlenia dokumentu PDF. Bez tego hasła dostęp do pliku PDF jest całkowicie niemożliwy. Natomiast hasło właściciela (lub hasło uprawnień) zapewnia pełną kontrolę nad ustawieniami zabezpieczeń dokumentu. Po otwarciu pliku PDF za pomocą hasła właściciela można modyfikować uprawnienia, usuwać hasła i uzyskać nieograniczony dostęp do wszystkich funkcji dokumentu. Ten system podwójnego hasła zapewnia elastyczne opcje bezpieczeństwa dla różnych przypadków użycia, od prostej ochrony dokumentów po złożone scenariusze zarządzania uprawnieniami.

Dlaczego warto korzystać z obu typów haseł?

Wykorzystanie obu typów haseł pozwala stworzyć kompleksową strategię bezpieczeństwa. Hasło użytkownika gwarantuje, że tylko upoważnione osoby mogą przeglądać dokument, natomiast hasło właściciela zapewnia kontrolę administracyjną. Jest to szczególnie przydatne w środowiskach biznesowych, gdzie pracownicy mogą przeglądać dokumenty (używając hasła użytkownika), ale tylko menedżerowie mogą modyfikować uprawnienia lub usuwać zabezpieczenia (używając hasła właściciela). Ponadto podejście to jest zgodne z wymogami zgodności w wielu branżach, które nakładają różne poziomy dostępu do dokumentów wrażliwych.

Co się dzieje, gdy użytkownicy wprowadzą każde z haseł?

Po wprowadzeniu hasła użytkownika uzyskuje on dostęp do dokumentu w trybie odczytu zgodnie z ustawionymi uprawnieniami. Użytkownicy mogą przeglądać treść, ale mogą mieć ograniczone możliwości drukowania, kopiowania tekstu lub wprowadzania zmian. Po wprowadzeniu hasła właściciela wszystkie ograniczenia zostają zniesione, a użytkownik uzyskuje pełne uprawnienia administracyjne do dokumentu, w tym możliwość zmiany haseł i modyfikacji ustawień uprawnień.

Mamy przykładowy plik PDF, który chcemy zabezpieczyć za pomocą IronPDF. Uruchommy poniższy kod, aby dodać hasło do pliku PDF. W tym przykładzie użyjemy hasła password123. To podejście sprawdza się doskonale zarówno podczas tworzenia plików PDF z HTML, jak i pracy z istniejącymi dokumentami.

: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

Wynikiem jest poniższy plik PDF, który można wyświetlić, wpisując hasło password123.

Jak otworzyć plik PDF chroniony hasłem?

Jakie parametry akceptuje funkcja FromFile?

Metoda PdfDocument.FromFile przyjmuje dwa główne parametry: ścieżkę do pliku i opcjonalny ciąg hasła. W przypadku pracy z plikami PDF chronionymi hasłem należy podać prawidłowe hasło jako drugi parametr. Metoda automatycznie wykrywa, czy podane hasło jest hasłem użytkownika, czy właściciela, i przyznaje odpowiednie poziomy dostępu. Ta płynna integracja ułatwia pracę z chronionymi dokumentami w aplikacjach napisanych w języku C#.

Jak radzić sobie z nieprawidłowymi próbami wprowadzenia hasła?

W przypadku podania nieprawidłowego hasła IronPDF generuje konkretny wyjątek, który można przechwycić i odpowiednio obsłużyć. Najlepszą praktyką jest wdrożenie bloku try-catch w celu płynnego zarządzania niepowodzeniami związanymi z hasłem:

try 
{
    var pdf = PdfDocument.FromFile("protected.pdf", userPassword);
    // Process the PDF
}
catch (IronPdf.Exceptions.IronPdfPasswordException ex)
{
    // Handle incorrect password
    Console.WriteLine("Invalid password provided");
}
try 
{
    var pdf = PdfDocument.FromFile("protected.pdf", userPassword);
    // Process the PDF
}
catch (IronPdf.Exceptions.IronPdfPasswordException ex)
{
    // Handle incorrect password
    Console.WriteLine("Invalid password provided");
}
Imports IronPdf.Exceptions

Try
    Dim pdf = PdfDocument.FromFile("protected.pdf", userPassword)
    ' Process the PDF
Catch ex As IronPdfPasswordException
    ' Handle incorrect password
    Console.WriteLine("Invalid password provided")
End Try
$vbLabelText   $csharpLabel

Czy po otwarciu mogę usunąć ochronę hasłem?

Tak, po otwarciu PDF z hasłem właściciela można usunąć wszystkie zabezpieczenia hasłem za pomocą metody RemovePasswordsAndEncryption(). Jest to przydatne, gdy trzeba udostępnić wcześniej chronione dokumenty lub zintegrować je z systemami, które nie obsługują plików PDF chronionych hasłem.

W tej sekcji opisano, jak otworzyć plik PDF chroniony hasłem. Metoda PdfDocument.FromFile ma drugi opcjonalny parametr, którym jest hasło. Podaj prawidłowe hasło do tego parametru, aby otworzyć plik PDF. Ta funkcja dobrze integruje się z innymi funkcjami IronPDF, takimi jak scalanie plików PDF i wyodrębnianie tekstu.

: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

Jak skonfigurować zaawansowane ustawienia zabezpieczeń i uprawnień?

Jakie uprawnienia mogę kontrolować?

IronPDF zapewnia szczegółową kontrolę nad uprawnieniami do plików PDF za pośrednictwem klasy SecuritySettings. Możesz zarządzać różnymi uprawnieniami, w tym:

  • AllowUserAnnotations: Kontroluje, czy użytkownicy mogą dodawać komentarze i adnotacje
  • AllowUserCopyPasteContent: Ogranicza kopiowanie tekstu i obrazów
  • AllowUserFormData: Zarządza możliwościami wypełniania formularzy
  • AllowUserPrinting: Ustawia uprawnienia drukowania z opcjami dla druku wysokiej jakości lub w niskiej rozdzielczości
  • AllowUserEditing: Kontroluje prawa do modyfikacji dokumentu

Uprawnienia te działają w połączeniu z ochroną hasłem, tworząc kompleksowe zasady bezpieczeństwa dostosowane do konkretnych wymagań.

W jaki sposób uprawnienia współdziałają z hasłami?

Ustawienia uprawnień działają różnie w zależności od konfiguracji hasła. Jeśli nie ustawiono hasła, uprawnienia są egzekwowane, ale mogą zostać potencjalnie ominięte przez oprogramowanie do edycji plików PDF. Wystarczy hasło użytkownika, a jego wprowadzenie zapewnia dostęp zgodnie z zdefiniowanymi uprawnieniami. Jednak gdy ustawione są oba hasła, hasło użytkownika zapewnia ograniczony dostęp, podczas gdy hasło właściciela ma pierwszeństwo przed wszystkimi uprawnieniami, zapewniając pełną kontrolę. Ten system hierarchiczny zapewnia odpowiednią kontrolę dostępu dla różnych ról użytkowników.

Jakie pola metadanych mogę ustawić?

Obiekt PdfDocument posiada również pola metadanych, które można ustawić, takie jak Author i ModifiedDate. Dodatkowe właściwości metadanych obejmują Title, Subject, Keywords, Creator i Producer. Dziedziny te mają kluczowe znaczenie dla systemów zarządzania dokumentami i wymogów zgodności. Można również ustawić niestandardowe pola metadanych, co jest szczególnie przydatne do wewnętrznego śledzenia i kategoryzacji. Dowiedz się więcej o zarządzaniu metadanymi z naszego szczegółowego przewodnika.

Kiedy należy używać MakePdfDocumentReadOnly?

Metoda MakePdfDocumentReadOnly jest idealna, gdy trzeba stworzyć ostateczną, nieedytowalną wersję dokumentu, zachowując pewien poziom kontroli dostępu. Metoda ta łączy ochronę hasłem z restrykcyjnymi uprawnieniami w jednym wywołaniu, dzięki czemu idealnie nadaje się do celów archiwizacyjnych, dokumentów prawnych lub raportów końcowych, które powinny pozostać niezmienione. Jest to szczególnie przydatne w procesach obiegu dokumentów, w których konieczne jest zapewnienie integralności dokumentów.

Można również wyłączyć adnotacje użytkownika, drukowanie przez użytkownika i wiele innych funkcji, jak pokazano poniżej:

: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

Ustawienie uprawnień jest powiązane z hasłem dokumentu i działa w następujący sposób. Na przykład, ustawienie właściwości AllowUserCopyPasteContent na false ma na celu zapobieganie kopiowaniu/wklejaniu treści:

  • Brak ustawionego hasła: Bez hasła kopiowanie i wklejanie treści pozostaje zablokowane.
  • Ustawione hasło użytkownika: Po ustawieniu hasła użytkownika wpisanie prawidłowego hasła umożliwi kopiowanie i wklejanie treści.
  • Ustawione hasło właściciela: Gdy ustawiono hasło właściciela, samo wprowadzenie hasła użytkownika nie odblokuje funkcji kopiowania/wklejania. Jednak po wpisaniu prawidłowego hasła właściciela możliwe będzie kopiowanie i wklejanie treści.
Okno dialogowe uprawnień do plików pokazujące wyłączone funkcje zabezpieczeń, z włączoną jedynie funkcją PRINT

W ściśle powiązanym artykule omówiono metadane predefiniowane i niestandardowe. Więcej informacji można znaleźć pod tym linkiem: "Jak ustawić i edytować metadane pliku PDF".

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się z naszą stroną z samouczkami tutaj: Podpisywanie i zabezpieczanie plików PDF

W przypadku aplikacji Enterprise wymagających zaawansowanych funkcji bezpieczeństwa warto rozważyć zgodność z formatem PDF/A w celu długoterminowej archiwizacji dokumentów lub wdrożenie podpisów cyfrowych z wykorzystaniem modułu HSM w celu zwiększenia bezpieczeństwa uwierzytelniania. Funkcje bezpieczeństwa IronPDF płynnie integrują się ze scenariuszami wdrażania w Azure i obsługują różne opcje renderowania, aby spełnić konkretne wymagania.

Często Zadawane Pytania

How do I add password protection to a PDF file in C#?

You can add password protection to PDFs using IronPDF by setting the SecuritySettings properties. Simply load your PDF document, then set the UserPassword property to require a password for opening the file, and/or set the OwnerPassword property to control editing permissions. IronPDF supports 128-bit encryption for secure document protection.

What's the difference between user password and owner password for PDFs?

In IronPDF, the user password (or open password) is required to open and view the PDF document, while the owner password (or permissions password) controls what actions users can perform on the document, such as editing, printing, or copying content. You can set both passwords independently using the SecuritySettings.UserPassword and SecuritySettings.OwnerPassword properties.

Can I prevent users from printing or copying content from my PDF?

Yes, IronPDF allows you to set granular permissions on your PDF documents. You can use the SecuritySettings.Permissions property to restrict actions like printing, copying, or editing. For example, setting Permissions.NoPrinting will prevent users from printing the document even if they have the user password.

What level of encryption does the PDF security feature support?

IronPDF supports 128-bit encryption for PDF documents, providing enterprise-grade security for your sensitive files. This encryption level is applied automatically when you set passwords or permissions on your PDF documents using the SecuritySettings properties.

How do I remove password protection from an existing PDF?

To remove password protection from a PDF using IronPDF, you first need to open the protected document by providing the password to the FromFile method. Once opened, you can clear the security settings by resetting the UserPassword and OwnerPassword properties to empty strings, then save the document without protection.

Can I add security settings when converting HTML to PDF?

Yes, IronPDF allows you to apply security settings immediately after converting HTML to PDF. After creating a PDF from HTML content, you can access the SecuritySettings properties to set passwords and permissions before saving the final document, ensuring your converted files are protected from the start.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.