使用Java和Itext编辑PDF文本

时间:2014-07-10 14:41:41

标签: java itext

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

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

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

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

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

1 个答案:

答案 0 :(得分:7)

请允许我复制chapter 6book简介:

  

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

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

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

     

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

     

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

     

如果您想“编辑”PDF,建议您更改原件   文档的来源并重新制作PDF。如果是原始文件   是使用Microsoft Word编写的,更改Word文档,然后制作   来自新版Word文档的PDF。不要指望任何   能够以与编辑Word相同的方式编辑PDF文件的工具   文档。

     

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

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

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

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

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