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?