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(); } } }
string[] pdfList = new string[3]; ??????
是不是因为第三个没有赋值的原因
组件要选择最新版的,就可以解决