quitar - PDF protegido con contraseña usando C#
programa para desbloquear pdf (2)
Estoy creando un documento en PDF usando el código C # en mi proceso
¿Estás usando alguna biblioteca para crear este documento? La especificación pdf (8.6MB) es bastante grande y todas las tareas que involucran la manipulación de PDF pueden ser difíciles sin usar una biblioteca de terceros. La protección de contraseña y el cifrado de sus archivos pdf con la biblioteca itextsharp de código abierto y gratuito es bastante fácil:
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);
}
Estoy creando un documento en PDF usando el código C # en mi proceso. Necesito proteger el docuemnt con alguna contraseña estándar como "123456" o algún número de cuenta. Necesito hacer esto sin dlls de referencia como escritor de pdf.
Estoy generando el archivo PDF utilizando informes de SQL Reporting Services.
¿Hay alguna manera más fácil?
Sería muy difícil hacer esto sin usar una biblioteca de PDF. Básicamente, necesitarás desarrollar esa biblioteca por ti mismo.
Con la ayuda de una biblioteca PDF, todo es mucho más simple. Aquí hay una muestra que muestra cómo un documento puede protegerse fácilmente usando la biblioteca 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);
}
}
Descargo de responsabilidad: trabajo para el vendedor de la biblioteca.