Было бы очень сложно сделать это без использования библиотеки PDF. В принципе, вам нужно будет создать такую библиотеку самостоятельно.
С помощью библиотеки PDF все намного проще. Вот пример, который показывает, как документ может быть легко защищен с помощью библиотеки Docotic.Pdf :
public static void protectWithPassword(string input, string output)
{
using (PdfDocument doc = new PdfDocument(input))
{
// set owner password (a password required to change permissions)
doc.OwnerPassword = "pass";
// set empty user password (this will allow anyone to
// view document without need to enter password)
doc.UserPassword = "";
// setup encryption algorithm
doc.Encryption = PdfEncryptionAlgorithm.Aes128Bit;
// [optionally] setup permissions
doc.Permissions.CopyContents = false;
doc.Permissions.ExtractContents = false;
doc.Save(output);
}
}
Отказ от ответственности: я работаю для поставщика библиотеки.