首页 新闻 会员 周边 捐助

Itext合并2个已经存在的 pdf文档 c#

0
悬赏园豆:120 [已关闭问题] 关闭于 2014-07-12 09:15

hi 高手:

以下代码是从网上copy出来的,自己改动了一下,就是将本地文件rpt01和rpt02合并成1.pdf。

但是运动到pdfreader那一行时就出错,trailer not found或者pdf header not found. 检查1.pdf是坏的,不知道如何修改 ,有人帮忙弄一下吗 ? 小白一个 

 

private void button1_Click(object sender, EventArgs e)
        {
 
       string[] pdfList = new string[3];
        pdfList[0] = @"C:\Users\smile\Documents\RPT01.pdf";
        pdfList[1] = @"C:\Users\smile\Documents\RPT02.pdf";
 
        mergePDFFiles(pdfList, "1.pdf");
      
 }
          void mergePDFFiles(string[] pdfList,string outMergeFile)
        {
            string mergePDFFiles = @"C:\Users\smile\Documents\1.pdf";
           
            Document DOC=new Document();
            PdfWriter writer = PdfWriter.getInstance(DOC, new FileStream(mergePDFFiles, FileMode.Create));
        
            DOC.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage newPage;
 
            for (int i = 0; i < pdfList.Length; i++)
            {
 
                PdfReader reader = new PdfReader(pdfList[i]);
                int iPageNum = reader.NumberOfPages;
                for (int j = 1; j <= iPageNum; j++)
                {
                    DOC.newPage();
                    newPage = writer.getImportedPage(reader, j);
                    cb.addTemplate(newPage, 0, 0);
                }
            }
            DOC.Close();
        }
    }
}

 

 

 

         

mad1314mad的主页 mad1314mad | 初学一级 | 园豆:90
提问于:2014-05-15 15:30
< >
分享
所有回答(2)
0

string[] pdfList = new string[3];  ??????

是不是因为第三个没有赋值的原因

五星 | 园豆:125 (初学一级) | 2014-05-18 20:20
0

组件要选择最新版的,就可以解决

mad1314mad | 园豆:90 (初学一级) | 2014-07-12 09:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册