2017-06-15 41 views
6
 connetionString = ConfigurationManager.ConnectionStrings["conString"].ToString(); 
     sql = "select Id,employeeName,employeePosition from Employee"; 
     connection = new SqlConnection(connetionString); 
     connection.Open(); 
     command = new SqlCommand(sql, connection); 
     adapter.SelectCommand = command; 
     adapter.Fill(ds); 
     connection.Close(); 

     PdfDocument pdf = new PdfDocument(); 
     pdf.Info.Title = "Database to PDF"; 
     PdfPage pdfPage = pdf.AddPage(); 
     XGraphics graph = XGraphics.FromPdfPage(pdfPage); 
     XFont font = new XFont("Verdana", 20, XFontStyle.Regular); 

     yPoint = yPoint + 100; 

     for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) 
     { 
      pubname = ds.Tables[0].Rows[i].ItemArray[0].ToString(); 
      city = ds.Tables[0].Rows[i].ItemArray[1].ToString(); 
      state = ds.Tables[0].Rows[i].ItemArray[2].ToString(); 

      graph.DrawString(pubname, font, XBrushes.Black, new XRect(40, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft); 

      graph.DrawString(city, font, XBrushes.Black, new XRect(120, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft); 

      graph.DrawString(state, font, XBrushes.Black, new XRect(400, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft); 

      yPoint = yPoint + 40; 
     } 


     string pdfFilename = "dbtopdf.pdf"; 
     pdf.Save(pdfFilename); 

Tôi đã tạo tệp pdf trực tiếp từ cơ sở dữ liệu. Tôi cần phải bảo vệ tập tin pdf bằng mật khẩu.bảo vệ tệp pdf bằng mật khẩu C#

using (MemoryStream ObjememoryStream = new MemoryStream()) 
     { 
      PdfWriter.GetInstance(pdfDoc, ObjememoryStream); 
      pdfDoc.Open(); 
      htmlworker.Parse(sr); 
      pdfDoc.Close(); 
      byte[] Filebytes = ObjememoryStream.ToArray(); 
      ObjememoryStream.Close(); 
      using (MemoryStream inputData = new MemoryStream(Filebytes)) 
      { 
       using (MemoryStream outputData = new MemoryStream()) 
       { 
        string PDFFileword = txtPassword.Text;//you can also generate Dynamic word 
        PdfReader reader = new PdfReader(inputData); 
        PdfEncryptor.Encrypt(reader, outputData, true, PDFFileword, PDFFileword, PdfWriter.ALLOW_SCREENREADERS); 
        Filebytes = outputData.ToArray(); 
        File.WriteAllBytes(destPath, Filebytes); 
        //Response.ContentType = "application/pdf"; 
        //Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf"); 
        //Response.Cache.SetCacheability(HttpCacheability.NoCache); 
        //Response.BinaryWrite(Filebytes); 
        //Response.End(); 
        GridView1.AllowPaging = true; 
        GridView1.DataBind(); 
       } 
      } 
     } 

Tôi đã quản lý để bảo vệ tệp pdf bằng mật khẩu ở trên nhưng nó chỉ hoạt động với tệp pdf được tạo từ chế độ xem lưới. Ai đó có thể chỉ cho tôi cách bảo vệ tệp pdf bằng mật khẩu được tạo bằng phương pháp đầu tiên bằng một cái gì đó tương tự như mã thứ hai của tôi không?

Trả lời

3

thiết lập mật khẩu người dùng trong SecuritySettings

pdf.SecuritySettings.UserPassword = "your password"; 
0

Trong web.config, add key yếu tố thêm các đường dẫn và Tôi có Date of Birth như một PDF Password. Bạn có thể sử dụng anything thay cho nó.

<add key="Inputfile" value=”Path of pdf file where it is getting saved…”> 
     <add key="Outputfile" value=”Path of pdf file where it has to be saved after getting password protected…”> 


     protected void passwordProtect(DateTime DateofBirth) 
       { 
        string yourpdf = ConfigurationManager.AppSettings["Inputfile"]; 
        string pdfWithPasswordA = ConfigurationManager.AppSettings["Outputfile"]; 
        string InputFileA = yourpdf; 
        string OutputFileA = pdfWithPasswordA; 

        using (Stream input = new FileStream(InputFileA, FileMode.Open, FileAccess.Read, FileShare.Read)) 
        { 
         using (Stream output = new FileStream(OutputFileA, FileMode.Create, FileAccess.Write, FileShare.None)) 
         { 
          PdfReader reader = new PdfReader(input); 
          PdfEncryptor.Encrypt(reader, output, true, DateofBirth.ToString("yyyyMMdd"), "secret", PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY); 
         } 
        } 



      } 
Các vấn đề liên quan