使用 java 将文本添加到现有 PDF 的最后一页

时间:2021-01-11 11:26:03

标签: java pdf itext pdfbox openpdf

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

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

1 个答案:

答案 0 :(得分:0)

基于光栅图像的方法:

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

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

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

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

相关问题