Controlar Exceção de Arquivo PDF

Contents
[ ]

A classe PdfFileSecurity permite que você controle exceções. Para fazer isso, você precisa definir a propriedade AllowExceptions como false ou true. Se você definir a operação como false, o resultado de DecryptFile retornará true ou false dependendo da correção da senha.

   public static void ControlExceptionPDFFile()
        {
            PdfFileSecurity fileSecurity = new PdfFileSecurity();
            fileSecurity.BindPdf(_dataDir + "sample_encrypted.pdf");
            fileSecurity.AllowExceptions = false;
            // Descriptografar documento PDF
            if (!fileSecurity.DecryptFile("IncorrectPassword"))
            {
                Console.WriteLine("Algo deu errado...");
                Console.WriteLine($"Última exceção: {fileSecurity.LastException.Message}");
            }
            fileSecurity.Save(_dataDir + "sample_decrtypted.pdf");
        }

Se você definir a propriedade AllowExceptions como true, então você pode obter o resultado da operação usando o operador try-catch.

public static void ControlExceptionPDFFile2()
        {
            PdfFileSecurity fileSecurity = new PdfFileSecurity();
            fileSecurity.BindPdf(_dataDir + "sample_encrypted.pdf");
            fileSecurity.AllowExceptions = true;
            try
            {
                // Descriptografar documento PDF
                fileSecurity.DecryptFile("IncorrectPassword");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Algo deu errado...");
                Console.WriteLine($"Exceção: {ex.Message}");
            }
            fileSecurity.Save(_dataDir + "sample_decrtypted.pdf");
        }