pdf表单字段密码保护asp.net

时间:2013-10-07 16:18:48

标签: asp.net pdf-generation

我正在使用本教程http://www.4guysfromrolla.com/articles/030211-1.aspx,它使用PDF表单字段,让用户使用文本框输入字段。我想加密pdf并添加用户密码,因此在下载时他们需要密码才能打开pdf。

   public static byte[] GeneratePDF(string pdfPath, Dictionary<string, string> formFieldMap)
{
    var output = new MemoryStream();
    var reader = new PdfReader(pdfPath); 
    var stamper = new PdfStamper(reader, output);

    var formFields = stamper.AcroFields;

    foreach (var fieldName in formFieldMap.Keys)
        formFields.SetField(fieldName, formFieldMap[fieldName]);

    stamper.FormFlattening = true;
    stamper.Close();
    reader.Close();

    byte[] content = output.ToArray();
//    byte[] content = content;

    // Write out PDF from memory stream.

    return output.ToArray();

}

1 个答案:

答案 0 :(得分:0)

让我尝试改变应用程序的行为方式,而不是每次用户下载pdf时都要发送密码,试图建立适当的身份验证和授权系统。

看看这个案例:

  • 用户获取pdf文件列表
  • 当用户点击下载按钮时,他们会被重定向到登录页面
  • 他们输入的凭据会被重定向到文件列表
  • 他们点击pdf并下载
  • 如果他们没有任何下载权限,则链接将显示为禁用
  • 管理员可以添加将文件下载到其他用户的权限

    希望有帮助