【发布时间】:2014-12-05 14:46:57
【问题描述】:
我正在使用 iTextSharp 创建 PDF。此 PDF 将包含 n-pages,其中所有页面都完全相同,除了小的文本更改。所以我想克隆我的Document 对象,进行更改并作为新页面添加到文档中,可以吗?
编辑:澄清一下我必须做的事情。我正在创建一个文档,现在作为iTextSharp.Document 对象在内存中。用户将其保存到他的计算机(它是一个 Web 应用程序),但在这种情况下,他将保存的文件应该由 3 页组成,每一页都具有相同的内容,除了底部的一个段落发生变化。
我现在所做的是在文档的每一页上重新创建表格\段落等,我想要的是获取我创建的代表一页的Document,将其克隆 3 次,然后作为文档页面加入。
【问题讨论】:
-
也许很容易,也许很难。这完全取决于您要应用的小文本更改 的性质。你能详细说明一下吗?
-
每一页都会改变一段文字。但基本上我需要更多的是在文档上复制一页
n次。例如,我创建第 1 页,现在我需要第 3 页和第 4 页与第 1 页相同。 -
我的回答中指出,是什么让您无法使用
PdfSmartCopy? -
PdfSmartCopy不需要物理文件才能工作吗?我没有这些,我在内存上做所有事情并向另一个函数发送一个 MemoryStream ,它将被发送到响应对象 -
不,
PdfSmartCopy需要一个PdfReader实例。您可以使用byte[]创建这样的实例。您可以从包含完整 PDF 的MemoryStream获得byte[]。在我回答的 Java 示例中,我有reader = new PdfReader(baos.toByteArray());,这也存在于 C# 中。
标签: pdf itextsharp