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 и укажите права, которые вы хотите применить к документу. После определения привилегий передайте этот объект в качестве аргумента методу Encrypt объекта Document. Следующий фрагмент кода показывает, как установить привилегии 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");
}
}
Вы можете использовать метод Encrypt объекта Document для шифрования PDF файла. Вы можете передать пароль пользователя, пароль владельца и разрешения методу Encrypt. Кроме того, вы можете передать любое значение перечисления CryptoAlgorithm. Это перечисление предоставляет различные комбинации алгоритмов шифрования и размеров ключей. Вы можете передать значение по вашему выбору. Наконец, сохраните зашифрованный PDF файл, используя метод Save объекта Document.
Пожалуйста, укажите разные пароли пользователя и владельца при шифровании 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 файлу, поскольку такой доступ может быть получен только авторизованным пользователем. Также люди ищут различные решения для расшифровки PDF файлов в Интернете.
Лучше решить эту проблему один раз, используя библиотеку Aspose.PDF.
Чтобы расшифровать PDF файл, вам сначала нужно создать объект Document и открыть PDF с использованием пароля владельца. После этого вам нужно вызвать метод Decrypt объекта Document. Наконец, сохраните обновленный PDF файл, используя метод Save объекта Document. Следующий фрагмент кода показывает, как расшифровать 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 файла, вам сначала нужно открыть PDF файл с использованием пароля владельца с помощью объекта Document. После этого вам нужно вызвать метод ChangePasswords объекта Document. Вам нужно передать текущий пароль владельца вместе с новым паролем пользователя и новым паролем владельца этому методу. Наконец, сохраните обновленный PDF файл, используя метод Save объекта Document.
- Пароль пользователя, если установлен, это то, что вам нужно предоставить для открытия PDF. Acrobat/Reader предложит пользователю ввести пароль пользователя. Если он неверен, документ не откроется.
- Пароль владельца, если установлен, контролирует разрешения, такие как печать, редактирование, извлечение, комментирование и т.д. Acrobat/Reader запретит эти действия в зависимости от настроек разрешений. Acrobat потребует этот пароль, если вы хотите установить/изменить разрешения.
Следующий фрагмент кода показывает, как изменить пароль 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 документами. При использовании класса Document пространства имен Aspose.PDF для открытия PDF документа, который защищен паролем, нам нужно предоставить информацию о пароле в качестве аргумента конструктору Document, и в случае, если эта информация не предоставлена, генерируется сообщение об ошибке. На самом деле, когда вы пытаетесь открыть PDF файл с помощью объекта Document, конструктор пытается прочитать содержимое PDF файла, и в случае, если правильный пароль не предоставлен, генерируется сообщение об ошибке (это происходит для предотвращения несанкционированного доступа к документу).
При работе с зашифрованными PDF файлами вы можете столкнуться со сценарием, когда вам будет интересно определить, есть ли у PDF открытый пароль и/или пароль на редактирование. Иногда есть документы, которые не требуют информации о пароле при их открытии, но требуют информации для редактирования содержимого файла. Поэтому, чтобы выполнить вышеуказанные требования, класс PdfFileInfo, представленный в Aspose.PDF.Facades, предоставляет свойства, которые могут помочь в определении необходимой информации.
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.