Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C Windows窗体应用程序中裁剪受密码保护的pdf_C#_Itext - Fatal编程技术网

C# 在C Windows窗体应用程序中裁剪受密码保护的pdf

C# 在C Windows窗体应用程序中裁剪受密码保护的pdf,c#,itext,C#,Itext,我需要开发Windows窗体应用程序,其中用户将选择一个受OpenFileDialog保护的PDFpassword,然后我的应用程序应裁剪该PDF并保存它 PDF文件的格式相同,裁剪尺寸也是固定的。 如何从PDF文件中获取维度 我是伊特夏普图书馆的新手,有人能帮我吗 byte[] password = System.Text.ASCIIEncoding.ASCII.GetBytes(pdfPass); PdfReader reader1 = new PdfReader(src,

我需要开发Windows窗体应用程序,其中用户将选择一个受OpenFileDialog保护的PDFpassword,然后我的应用程序应裁剪该PDF并保存它

PDF文件的格式相同,裁剪尺寸也是固定的。 如何从PDF文件中获取维度

我是伊特夏普图书馆的新手,有人能帮我吗

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();
        }

我写了上面的代码,它可以解决我的问题。

从itext中搜索一些。你尝试了什么,什么阻止了你?如何在两个页面中创建?我是说前面和后面