为了账号安全,请及时绑定邮箱和手机立即绑定

在c#.net中使用iTextSharp合并多个PDF

在c#.net中使用iTextSharp合并多个PDF

紫衣仙女 2019-11-13 15:45:40
好吧,我正在尝试将多个PDF合并为一个。编译时我没有给出任何错误。我尝试首先合并文档,但由于我正在使用表,因此出现了错误。这是asp.net背后的代码if (Button.Equals("PreviewWord")) {        String eventTemplate = Server.MapPath("/ERAS/Badges/Template/EventTemp" + EventName + ".doc");        String SinglePreview = Server.MapPath("/ERAS/Badges/Template/PreviewSingle" + EventName + ".doc");        String PDFPreview = Server.MapPath("/ERAS/Badges/Template/PDFPreviewSingle" + EventName + ".pdf");        String previewPDFs = Server.MapPath("/ERAS/Badges/Template/PreviewPDFs" + EventName + ".pdf");        if (System.IO.File.Exists((String)eventTemplate))        {            if (vulGegevensIn == true)            {              //This creates a Worddocument and fills in names etc from database                CreateWordDocument(vulGegevensIn, eventTemplate, SinglePreview, false);                //This saves the SinglePreview.doc as a PDF @param place of PDFPreview                CreatePDF(SinglePreview, PDFPreview);                //Trying to merge                String[] previewsSmall=new String[1];                previewsSmall[0] = PDFPreview;                PDFMergenITextSharp.MergeFiles(previewPDFs, previewsSmall);            }            // merge PDFs here...........................;            //here            //no here//            //...    } }这是PDFMergenITextSharpClass公共静态类PDFMergenITextSharp {public static void MergeFiles(string destinationFile, string[] sourceFiles){    try    {        int f = 0;        // we create a reader for a certain document        PdfReader reader = new PdfReader(sourceFiles[f]);        // we retrieve the total number of pages        int n = reader.NumberOfPages;        //Console.WriteLine("There are " + n + " pages in the original file.");        // step 1: creation of a document-object        Document document = new Document(reader.GetPageSizeWithRotation(1));        // step 2: we create a writer that listens to the documen
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

在Itextsharp中合并PDF的代码


 public static void Merge(List<String> InFiles, String OutFile)

    {


        using (FileStream stream = new FileStream(OutFile, FileMode.Create))

        using (Document doc = new Document())

        using (PdfCopy pdf = new PdfCopy(doc, stream))

        {

            doc.Open();


            PdfReader reader = null;

            PdfImportedPage page = null;


            //fixed typo

            InFiles.ForEach(file =>

            {

                reader = new PdfReader(file);


                for (int i = 0; i < reader.NumberOfPages; i++)

                {

                    page = pdf.GetImportedPage(reader, i + 1);

                    pdf.AddPage(page);

                }


                pdf.FreeReader(reader);

                reader.Close();

                File.Delete(file);

            });

        }


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 2007 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信