首页 > 解决方案 > 使用java将文本添加到现有PDF的最后一页

问题描述

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

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

标签: javapdfitextpdfboxopenpdf

解决方案


基于光栅图像的方法:

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

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

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

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


推荐阅读