利用iTextSharp进行多个PDF文件流的合并

请引用iTextSharp的dll和namespace

public static byte[] MergePdfFiles(List pdfInputs)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                Document document = new Document();
                PdfWriter writer = PdfWriter.GetInstance(document, stream);
                document.Open();
                PdfContentByte cb = writer.DirectContent;
                PdfImportedPage newPage;
                PdfReader reader;

                foreach (var p in pdfInputs)
                {
                    reader = new PdfReader(p);
                    int iPageNum = reader.NumberOfPages;
                    for (int i = 1; i <= iPageNum; i++)
                    {
                        document.NewPage();
                        newPage = writer.GetImportedPage(reader, i);
                        cb.AddTemplate(newPage, 0, 0);
                    }
                }

                document.Close();
                writer.Close();
                return stream.ToArray();
            }
        }

代码,清晰不解释

原创文章,转载请注明: 转载自闲云博客

本文链接地址: 利用iTextSharp进行多个PDF文件流的合并

发表评论

电子邮件地址不会被公开。 必填项已用*标注