Чтобы создать приложение с Visual Studio (C #), которое может защитить паролем PDF? [Дубликат]

Это решает все ваши проблемы? так как строки не будут вычисляться так же, как цифры ...

SELECT * FROM myTable WHERE sign (col1)!=0

знак окончания (0) равен нулю, но тогда вы можете ограничить свой запрос ...

SELECT * FROM myTable WHERE sign (col1)!=0 or col1=0
14
задан balaweblog 17 December 2008 в 05:13
поделиться

3 ответа

Я создаю pdf-документ с использованием кода C # в моем процессе

Используете ли вы какую-нибудь библиотеку для создания этого документа? Спецификация pdf (8.6MB) довольно велика, и все задачи, связанные с обработкой PDF, могут быть трудными без использования сторонней библиотеки. Защита паролем и шифрование ваших файлов PDF со свободной и открытой исходной библиотекой itextsharp довольно просто:

using (Stream input = new FileStream("test.pdf", FileMode.Open, FileAccess.Read, FileShare.Read))
using (Stream output = new FileStream("test_encrypted.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
{
    PdfReader reader = new PdfReader(input);
    PdfEncryptor.Encrypt(reader, output, true, "secret", "secret", PdfWriter.ALLOW_PRINTING);
}
22
ответ дан Darin Dimitrov 26 August 2018 в 14:50
поделиться
  • 1
    Обратите внимание, что для itextsharp требуется лицензия для коммерческого использования, если ваш код также не выпущен под той же лицензией, которую он использует. Цены доступны только по заявке. – Spongeboy 21 June 2012 в 08:34
  • 2
    Обратите внимание, что этот ответ был написан в 2008 году, когда iTextSharp был выпущен под LGPL. После выпуска версии 5.0.0 (декабрь 2009 г. версия 108 SVN, изменение лицензии находится в редакции 99), лицензия была изменена на AGPL, требуя от поставщиков приложений-поставщиков либо выпускать исходный код, либо приобретать коммерческую лицензию. Предыдущая версия (4.1.6; LGPL) разворачивается здесь и по-прежнему имеет вышеуказанную функциональность. – Brian Parks 28 May 2013 в 22:27
  • 3
    Жаль, что этот шифр слишком легко сломать. codeproject.com/Articles/31493/PDF-Security-Remover – Diego 30 May 2015 в 16:56

Было бы очень сложно сделать это без использования библиотеки 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);
    }
}

Отказ от ответственности: я работаю для поставщика библиотеки.

1
ответ дан Bobrovsky 26 August 2018 в 14:50
поделиться

Если кто-то ищет ссылку IText7.

    private string password = "@d45235fewf";
    private const string pdfFile = @"C:\Temp\Old.pdf";
    private const string pdfFileOut = @"C:\Temp\New.pdf";

public void DecryptPdf()
{
        //Set reader properties and password
        ReaderProperties rp = new ReaderProperties();
        rp.SetPassword(new System.Text.UTF8Encoding().GetBytes(password));

        //Read the PDF and write to new pdf
        using (PdfReader reader = new PdfReader(pdfFile, rp))
        {
            reader.SetUnethicalReading(true);
            PdfDocument pdf = new PdfDocument(reader, new PdfWriter(pdfFileOut));
            pdf.GetFirstPage(); // Get at the very least the first page
        }               
} 
0
ответ дан horseman1210 26 August 2018 в 14:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: