[英]Crop password protected pdf in C# Windows Forms application
我需要開發Windows窗體應用程序,其中用戶將從OpenFileDialog中選擇一個PDF(受密碼保護),然后我的應用程序應裁剪該PDF並保存。
PDF文件具有相同的格式,並且裁剪尺寸也已修復。 (如何從PDF文件獲取尺寸?)
我是itextsharp庫的新手,任何人都可以幫我這個忙。
byte[] password = System.Text.ASCIIEncoding.ASCII.GetBytes(pdfPass);
PdfReader reader1 = new PdfReader(src, password);
PdfReader reader2 = new PdfReader(src, password);
int n = reader1.NumberOfPages;
PdfDictionary pageDict1;
PdfDictionary pageDict2;
PdfRectangle rect1;
PdfRectangle rect2;
//For Old Aadhar Card
if (PdfType == "Old")
{
rect1 = new PdfRectangle(10, 50, 300, 270);
rect2 = new PdfRectangle(290, 50, 590, 270);
}
else
{
rect1 = new PdfRectangle(10, 50, 500, 270);
rect2 = new PdfRectangle(290, 50, 590, 270);
}
//For New Aadhar Card
//PdfRectangle rect = new PdfRectangle(10, 40, 570, 270);
for (int i = 1; i <= n; i++)
{
pageDict1 = reader1.GetPageN(i);
pageDict1.Put(PdfName.CROPBOX, rect1);
}
for (int i = 1; i <= n; i++)
{
pageDict2 = reader2.GetPageN(i);
pageDict2.Put(PdfName.CROPBOX, rect2);
}
using (MemoryStream ms = new MemoryStream())
{
PdfStamper stamper1 = new PdfStamper(reader1, new FileStream(@"D:\testpdfnew1.pdf", FileMode.Create));
PdfStamper stamper2 = new PdfStamper(reader2, new FileStream(@"D:\testpdfnew2.pdf", FileMode.Create));
stamper1.Close();
stamper2.Close();
reader1.Close();
reader2.Close();
}
我寫了上面的代碼,它可以解決我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.