pdf 处理没有错误,但 pdf 无法手动打开 itextSharp c#

问题描述 投票:0回答:1

我有一个 pdf 模板(1 页),我需要

  • 复制到另一个并编辑(将图像放在上面)
  • 根据图像列表计数复制页面
  • 模板应为背景,而图像应位于内容之上

-> 调试模式运行成功,但新的pdf文件打不开,错误信息图片:

这里是源代码:

//start editing the pdf 
        using (Stream inputPdfStream = new FileStream(filepathsrc, FileMode.Open, FileAccess.Read, FileShare.Read))
        using (Stream outputPdfStream = new FileStream(filepathOut, FileMode.Create, FileAccess.Write, FileShare.None))
        {
            //read the template
            PdfReader reader = new PdfReader(filepathsrc);
            //copy the template the original
            PdfStamper stamper = new PdfStamper(reader, outputPdfStream);

            //set template under content
            PdfImportedPage Page = stamper.GetImportedPage(reader, 1);
            PdfContentByte background = stamper.GetUnderContent(1);
            background.AddTemplate(Page, 0, 0);

            //create pages
            int originalpages = imageBytes.Count;
            for (int page = 1; page <= originalpages; page++)
            {
                iTextSharp.text.Rectangle rect = reader.GetCropBox(1);
                stamper.InsertPage(page , rect);
            }
            //duplicate template for page one
            for (int page = 2; page <= originalpages; page++)
            {
                stamper.ReplacePage(reader, page - 1, page);
            }

            //place images
            for (int i = 0; i < imageBytes.Count; i++)
            {
                int pageNum = i + 1;
                PdfContentByte pdfContentByte = stamper.GetOverContent(pageNum);
                pdfContentByte.AddImage(images[i]);
                
            }

           
        }

我是初级开发人员,我将感谢您解释我的代码问题。

c# .net itext
1个回答
0
投票

就像@mkl所说,我忘记关闭

pdfstamper
.

© www.soinside.com 2019 - 2024. All rights reserved.