【问题标题】:append image to EXISTING pdf using itextsharp使用 itextsharp 将图像附加到现有 pdf
【发布时间】:2010-11-04 12:57:17
【问题描述】:

以下代码非常擅长将单个页面放入 pdf 中。 它不适用于后续页面。 如果流是现有的 pdf 文件,则替换图像。如何让 NewPage() 实际创建一个新页面并在最后添加图像。

        using (Stream ms = GetStream()) {

            Document doc = new Document(PageSize.A4);
            var writer = PdfWriter.GetInstance(doc, ms);

            doc.Open();
            if (!doc.NewPage())
                throw new InvalidOperationException("NewPage failed.");

            PDFImage jpg = PDFImage.GetInstance(image, ImageFormat.Jpeg);
            jpg.Alignment = Element.ALIGN_CENTER;
            jpg.ScaleToFit(PageSize.A4.Width, PageSize.A4.Height);
            doc.Add(jpg);

            doc.Close();
        }

【问题讨论】:

    标签: image itextsharp


    【解决方案1】:

    当当前页面上没有任何内容时,调用doc.NewPage() 不会执行任何操作。至少有 3 个选项:

    1) 向当前页面添加不可见的内容。一个空的段落,PdfContentByte 的一些空白,等等。 2) 告诉您的 PDF 文档“不,它真的不是空的,相信我的话”:PdfDocument.PageEmpty =false; 3) 当NewPage 返回false 时不要抛出。在这种情况下这是完全可以接受的。

    我个人会选择#3。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 2016-01-29
      • 1970-01-01
      • 2011-06-23
      • 2016-02-12
      • 2013-02-09
      相关资源
      最近更新 更多