Caranya memprotek atau mem password PDF file cukup mudah, hanya dengan menggunakan fungsi yang sudah saya buat dibawah ini. parameter dari fungsi ini antara lain
1. filebytes, ini berasal dari byte-byte dari file PDF yang akan di password. bisa berasal dari file PDF, atau dari Input Stream
2. fileName, ini adalah nama file PDF ketika sudah dipassword
3. pass adalah password dari file pdf
private void ProtectThisFile(byte[] filebytes, string fileName, string pass)
{
if (filebytes.Length > 0)
{
using (MemoryStream memOutput = new MemoryStream())
{
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(new MemoryStream(filebytes));
iTextSharp.text.pdf.PdfEncryptor.Encrypt(reader, memOutput, true, fileName,pass, iTextSharp.text.pdf.PdfWriter.ALLOW_SCREENREADERS);
filebytes = memOutput.ToArray();
Context.Response.BinaryWrite(filebytes);
Context.Response.ContentType = "application/pdf";
Context.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.pdf", fileName));
Context.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Context.Response.End();
}
}
}
Cara kerja dari function diatas adalah.
file bytes akan di baca oleh komponent iTextSharp, yang kemudian akan di encrypt sesuai dengan password dalam parameter "pass" kemudian di simpan kedalam Memory Stream. Setelah itu memory stream tersebut akan di konversi ke bytes dan dibuatlah file PDF secara fisik. Function ini dibuat dalam aplikasi WEB asp.net
Komponent iTextSharp ini bisa di download disini https://sourceforge.net/projects/itextsharp/
No comments:
Post a Comment