使用Java和Itext编辑PDF文本

有没有办法可以编辑PDF文档文本? 喜欢查找和替换特定文本?

我有一个PDF文档,其中包含我需要识别和替换的文本的占位符,或者只删除该文本。

我能够使用特定坐标(x,y)编辑pdf,但无法识别和替换。 我看到的所有库都是从头开始创建PDF和小编辑function。 反正我是否可以使用itext进行上述编辑? 请指教……谢谢!

**示例:pdf文档包含以下paragaph。 在本段中,我需要将DATE:和FROM:标识为文本并将其替换为其他内容。

最古老的古典希腊文和拉丁文写作在单词或其他单词之间几乎没有空格,可以用boustrophedon(交替方向)书写。 随着时间的推移,文本方向(从左到右)变得标准化,并且分词和终端标点符号变得普遍。 ** DATE: FROM: 将句子分成组的第一种方法是原始段落,类似于新组开头的下划线 ——————– ————————————— **

请允许我复制本书 第6章的介绍:

当我写第一本关于iText的书时,出版商不喜欢副标题“创建和操纵 PDF。”他不喜欢操纵这个词,因为它有一些贬义的含义。 如果您查阅Yahoo!上的字典 教育 ,你会发现以下定义:

  • 影响或管理精明或狡猾
  • 篡改或伪造个人利益

显然,这不是本书的内容。 出版商建议将“创建和编辑 PDF”作为更好的副标题。 我解释说PDF不是一种非常适合编辑的文档格式。 PDF是最终产品。 这是一种显示格式。 它不是 文字处理格式。

在文字处理格式中,当您在应用程序中打开文档时,内容将分布在不同的页面上,而不是更早。 这有一些缺点:如果您在不同的应用程序中打开同一文档,最终可能会有不同的页数。 在Microsoft Word中查看时,在X页上可以显示相同的文本片段,在Open Office中查看时,在Y页上可以显示相同的文本片段。 这正是您希望通过选择PDF来避免的问题。

在PDF文档中,无论用于查看文档的应用程序如何,PDF页面上的每个字符或字形都有其固定位置。 这是一个优点,但它也有一个缺点。 假设您要在一个句子中用“操纵”一词替换“编辑”一词,您必须重排文本。 您必须重新定位该单词后面的所有字符。 也许你甚至不得不将部分文本移到下一页。 即使不是不可能,这也不是微不足道的。

如果要“编辑”PDF,建议您更改文档的原始来源并重新制作PDF。 如果原始文档是使用Microsoft Word编写的,请更改Word文档,并从新版本的Word文档中制作PDF。 不要指望任何工具能够像编辑Word文档一样编辑PDF文件。

话虽如此,动词“操纵”也意味着

  • 用手或机械方式移动,安排,操作或控制,特别是以熟练的方式

这正是你在本章中要做的。 使用iText,您将以熟练的方式操纵PDF文件的页面。 您将把PDF文档看作是用数码纸制作的。

在您的问题中,您说: “我看到的所有库都是从头开始创建PDF和小编辑function。”

嗯,这是正常的。 它是您选择的文档格式所固有的。 您的设计涉及“您需要识别和替换或仅删除的文本的占位符”存在严重缺陷。 它的文档格式选择错误。 您应该选择适合编辑的格式。 PDF不是这样的格式。