【问题标题】:Add text to last page of existing PDF with java使用java将文本添加到现有PDF的最后一页
【发布时间】:2021-04-16 08:16:33
【问题描述】:

我知道有很多关于如何解决现有 PDF 版本问题的建议,但在所有这些建议中,我找不到我的问题的解决方案。

我需要在 PDF 的最后一页添加有关文件接受的信息(“Tom Smith 接受的文档,2020-01-01”- 可能的多次接受)。我需要确定页面是否已填满或是否有足够的空间容纳我的文本。 我想在 pdf 的最后一页上找到最后一个元素的位置 (y),以根据页面大小检查它。如果页面已满,我将添加一个新页面,然后添加新文本。
我不知道如何解决这个问题。我尝试使用 iText 和 PDFBOX 寻找答案,但没有令人满意的解决方案。

【问题讨论】:

  • 关于iText,您是否尝试过this answer 中的FreeSpaceFinderExt?它允许您找到任意未使用的区域;对于您的任务,您可能希望使用最底部的任务。
  • 请与 iText 分享您现有的代码。有一些方法可以实现您的要求

标签: java pdf itext pdfbox openpdf


【解决方案1】:

基于光栅图像的方法:

使用您喜欢的任何库(Ghostscript?)将 pdf 的最后一页渲染为位图图像。 72 dpi 应该足以满足您的目的。

然后您可以使用任何图像处理库(如 openCV)并从下向上检查矩形区域(如果存在像素)。 openCV 使用 CountNonZero() 函数非常快。

您还可以在图像中的任何位置找到任何大的白色区域,而不仅仅是在底部。此链接可能是您的起点。

https://answers.opencv.org/question/72939/how-to-find-biggest-white-zone-in-an-scanned-image/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多