अपने पीडीएफ दस्तावेज़ को एन्क्रिप्ट करें। सरल HTTP Handler
उदाहरण काम कर आप प्राप्त करने के लिए शुरू कर दिया:
<%@ WebHandler Language="C#" Class="lockPdf" %>
using System;
using System.Web;
using iTextSharp.text;
using iTextSharp.text.pdf;
public class lockPdf : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpServerUtility Server = context.Server;
HttpResponse Response = context.Response;
Response.ContentType = "application/pdf";
using (Document document = new Document()) {
PdfWriter writer = PdfWriter.GetInstance(
document, Response.OutputStream
);
writer.SetEncryption(
// null user password => users can open document __without__ pasword
null,
// owner password => required to __modify__ document/permissions
System.Text.Encoding.UTF8.GetBytes("ownerPassword"),
/*
* bitwise or => see iText API for permission parameter:
* http://api.itextpdf.com/itext/com/itextpdf/text/pdf/PdfWriter.html
*/
PdfWriter.ALLOW_PRINTING
| PdfWriter.ALLOW_COPY
,
// encryption level also in documentation referenced above
PdfWriter.ENCRYPTION_AES_128
);
document.Open();
document.Add(new Paragraph("hello world"));
}
}
public bool IsReusable { get { return false; } }
}
इनलाइन टिप्पणी स्वतः स्पष्ट होना चाहिए। PdfWriter documentation देखें।
आप PdfEncryptor class का उपयोग कर PdfReader
ऑब्जेक्ट का उपयोग करके एक पीडीएफ दस्तावेज़ एन्क्रिप्ट भी कर सकते हैं। दूसरे शब्दों में, आप इस तरह कुछ भी कर सकते हैं (अवांछित):
PdfReader reader = new PdfReader(INPUT_FILE);
using (MemoryStream ms = new MemoryStream()) {
using (PdfStamper stamper = new PdfStamper(reader, ms)) {
// add your content
}
using (FileStream fs = new FileStream(
OUTPUT_FILE, FileMode.Create, FileAccess.ReadWrite))
{
PdfEncryptor.Encrypt(
new PdfReader(ms.ToArray()),
fs,
null,
System.Text.Encoding.UTF8.GetBytes("ownerPassword"),
PdfWriter.ALLOW_PRINTING
| PdfWriter.ALLOW_COPY,
true
);
}
}
यह पूरी तरह से काम करता है। – CrispinH
धन्यवाद! यह काम करता है –