Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
다음 코드 스니펫은 Aspose.PDF.Drawing 라이브러리와 함께 작동합니다.
PDF 파일에 권한을 설정하려면 DocumentPrivilege 클래스의 객체를 생성하고 문서에 적용할 권한을 지정합니다. 권한이 정의되면 이 객체를 Document 객체의 Encrypt 메서드에 인수로 전달합니다. 다음 코드 스니펫은 PDF 파일의 권한을 설정하는 방법을 보여줍니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPrivilegesOnExistingPdfFile()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Instantiate Document Privileges object
// Apply restrictions on all privileges
var documentPrivilege = Aspose.Pdf.Facades.DocumentPrivilege.ForbidAll;
// Only allow screen reading
documentPrivilege.AllowScreenReaders = true;
// Encrypt the file with User and Owner password
// Need to set the password, so that once the user views the file with user password
// Only screen reading option is enabled
document.Encrypt("user", "owner", documentPrivilege, Aspose.Pdf.CryptoAlgorithm.AESx128, false);
// Save PDF document
document.Save(dataDir + "SetPrivileges_out.pdf");
}
}
Document 객체의 Encrypt 메서드를 사용하여 PDF 파일을 암호화할 수 있습니다. 사용자 비밀번호, 소유자 비밀번호 및 권한을 Encrypt 메서드에 전달할 수 있습니다. 또한 CryptoAlgorithm 열거형의 값을 전달할 수 있습니다. 이 열거형은 다양한 암호화 알고리즘 및 키 크기의 조합을 제공합니다. 원하는 값을 전달할 수 있습니다. 마지막으로 Document 객체의 Save 메서드를 사용하여 암호화된 PDF 파일을 저장합니다.
PDF 파일을 암호화할 때는 서로 다른 사용자 및 소유자 비밀번호를 지정하십시오.
다음 코드 스니펫은 PDF 파일을 암호화하는 방법을 보여줍니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void EncryptPdfFile()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "Encrypt.pdf"))
{
// Encrypt PDF
document.Encrypt("user", "owner", 0, Aspose.Pdf.CryptoAlgorithm.RC4x128);
// Save PDF document
document.Save(dataDir + "Encrypt_out.pdf");
}
}
사용자들은 점점 더 PDF 파일을 암호화하여 문서에 대한 무단 접근을 방지하고 있습니다. 오늘날 PDF 파일을 암호화하는 것은 콘텐츠의 기밀성과 무결성을 유지하기 때문에 가장 좋은 선택입니다. 이와 관련하여, 암호화된 PDF 파일에 접근할 필요가 있으며, 이러한 접근은 인증된 사용자만 얻을 수 있습니다. 또한 사람들은 인터넷에서 PDF 파일을 복호화하기 위한 다양한 솔루션을 찾고 있습니다.
Aspose.PDF 라이브러리를 사용하여 이 문제를 한 번에 해결하는 것이 좋습니다.
PDF 파일을 복호화하려면 먼저 Document 객체를 생성하고 소유자 비밀번호를 사용하여 PDF를 엽니다. 그 후, Document 객체의 Decrypt 메서드를 호출해야 합니다. 마지막으로 Document 객체의 Save 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다. 다음 코드 스니펫은 PDF 파일을 복호화하는 방법을 보여줍니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DecryptPdfFile()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document with password
using (var document = new Aspose.Pdf.Document(dataDir + "Decrypt.pdf", "password"))
{
// Decrypt PDF
document.Decrypt();
// Save PDF document
document.Save(dataDir + "Decrypt_out.pdf");
}
}
문서를 암호화하여 암호화 중에 지정한 인증서의 소유자만 열 수 있도록 할 수 있습니다. 문서를 암호화하려면 모든 수신자의 공개 인증서가 필요합니다. 문서를 열기 위해 수신자는 공개 인증서와 해당 개인 키 인증서를 가져야 합니다. 수신자가 Adobe Acrobat에서 문서를 열 경우, 인증서는 인증서 저장소에 설치되어 있어야 합니다. Aspose.Pdf를 사용하여 문서를 열려면 저장소에 설치된 인증서 또는 PFX 파일을 사용할 수 있습니다.
PDF 파일의 비밀번호를 변경하려면 먼저 Document 객체를 사용하여 소유자 비밀번호로 PDF 파일을 열어야 합니다. 그 후, Document 객체의 ChangePasswords 메서드를 호출해야 합니다. 이 메서드에 현재 소유자 비밀번호와 새 사용자 비밀번호 및 새 소유자 비밀번호를 전달해야 합니다. 마지막으로 Document 객체의 Save 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.
- 사용자 비밀번호가 설정된 경우, PDF를 열기 위해 제공해야 하는 비밀번호입니다. Acrobat/Reader는 사용자에게 사용자 비밀번호를 입력하라는 메시지를 표시합니다. 비밀번호가 올바르지 않으면 문서가 열리지 않습니다.
- 소유자 비밀번호가 설정된 경우, 인쇄, 편집, 추출, 주석 달기 등의 권한을 제어합니다. Acrobat/Reader는 권한 설정에 따라 이러한 작업을 허용하지 않습니다. 권한을 설정/변경하려면 이 비밀번호가 필요합니다.
다음 코드 스니펫은 PDF 파일의 비밀번호를 변경하는 방법을 보여줍니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ChangePassword()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document with password
using (var document = new Aspose.Pdf.Document(dataDir + "ChangePassword.pdf", "owner"))
{
// Change password
document.ChangePasswords("owner", "newuser", "newowner");
// Save PDF document
document.Save(dataDir + "ChangePassword_out.pdf");
}
}
Aspose.PDF for .NET는 PDF 문서를 처리하는 훌륭한 기능을 제공합니다. Aspose.PDF 네임스페이스의 Document 클래스를 사용하여 비밀번호로 보호된 PDF 문서를 열 때, 비밀번호 정보를 Document 생성자에 인수로 제공해야 하며, 이 정보가 제공되지 않으면 오류 메시지가 생성됩니다. 실제로 Document 객체로 PDF 파일을 열려고 할 때 생성자는 PDF 파일의 내용을 읽으려고 시도하며, 올바른 비밀번호가 제공되지 않으면 오류 메시지가 생성됩니다(이는 문서의 무단 접근을 방지하기 위해 발생합니다).
암호화된 PDF 파일을 처리할 때, PDF에 열기 비밀번호 및/또는 편집 비밀번호가 있는지 감지해야 할 필요가 있을 수 있습니다. 때때로 비밀번호 정보가 필요하지 않은 문서가 있지만, 파일의 내용을 편집하기 위해서는 정보가 필요합니다. 이러한 요구 사항을 충족하기 위해 Aspose.PDF.Facades에 있는 PdfFileInfo 클래스는 필요한 정보를 결정하는 데 도움이 되는 속성을 제공합니다.
PdfFileInfo는 PDF 문서 보안에 대한 정보를 얻기 위해 세 가지 속성을 포함합니다.
때때로 비밀번호 배열에서 올바른 비밀번호를 결정하고 올바른 비밀번호로 문서를 여는 요구가 있을 수 있습니다. 다음 코드 스니펫은 비밀번호 배열을 반복하고 올바른 비밀번호로 문서를 여는 단계를 보여줍니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DetermineCorrectPasswordFromArray()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
using (var info = new Aspose.Pdf.Facades.PdfFileInfo())
{
// Bind PDF document
info.BindPdf(dataDir + "IsPasswordProtected.pdf");
// Determine if the source PDF is encrypted
Console.WriteLine("File is password protected " + info.IsEncrypted);
String[] passwords = new String[5] { "test", "test1", "test2", "test3", "sample" };
for (int passwordcount = 0; passwordcount < passwords.Length; passwordcount++)
{
try
{
using (var document = new Aspose.Pdf.Document(dataDir + "IsPasswordProtected.pdf", passwords[passwordcount]))
{
if (document.Pages.Count > 0)
{
Console.WriteLine("Number of Page in document are = " + document.Pages.Count);
}
}
}
catch (Aspose.Pdf.InvalidPasswordException)
{
Console.WriteLine("Password = " + passwords[passwordcount] + " is not correct");
}
}
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.