有没有办法用itextsharp替换PDF文件中的文本?

时间:2009-04-27 20:05:51

标签: c# itextsharp

我正在使用itextsharp生成PDF,但我需要动态更改一些文本。 我知道如果有任何AcroField可以改变,但我的PDF doen有任何一个。它只有一些纯文本,我需要改变它们中的一些。

有谁知道怎么做?

3 个答案:

答案 0 :(得分:5)

实际上,我有一篇关于如何做的博客文章!但就像IanGilham所说,这取决于你是否能控制原始PDF。基本思路是在页面上设置一个表单,并用您想要的文本替换表单字段。 (您可以为表单设置样式,使其看起来不像表单)

如果您无法控制PDF,请告诉我如何操作!

以下是完整帖子的链接:

Using a template to programmatically create PDFs with C# and iTextSharp

答案 1 :(得分:2)

我没有使用过itextsharp,但过去几周我一直在使用PDFNet SDK来探索大量PDF文件的内容。

我想说你所需要的是绝对可以实现的,但它的难度将完全取决于你对文件质量的控制程度。在我的例子中,文件可以由图像,任何随机顺序的文本,表格,表格,路径,单个像素图形和扫描页面的任意组合构成,其中一些由数百个较小的图像组成。我们只是说我们玩得很开心。

在PDFTron的处理方式中,您必须实现一个查看器(可用的示例),并在文本选择上添加一些代码。鉴于格式的复杂性,可能需要在辅助对话框中实现一个简单的编辑器,并能够将选择扩展到下一行(或者用于构成文本的任何其他基本对象)。然后可以通过将文档的整个页面复制到新页面来编辑和应用该字符串,用新字符串替换所选元素。你可能不得不做一些数学运算来使这个工作得很好,因为PDF中的所有内容都是通过affine transform在页面上找到的。

祝你好运。我确信这里有人有一些itextsharp和PDF的经验。

答案 2 :(得分:-1)

这个问题不时出现在mailing list上。同样的答案会一次又一次地给出 - 。有关this thread官方答案,请参阅the person who created iText

此问题FAQ on the itextsharp tag wiki