java - 使用java将文本添加到现有PDF的最后一页
问题描述
我知道有很多关于如何解决现有 PDF 版本问题的建议,但在所有这些建议中,我找不到解决问题的方法。
我需要在 PDF 的最后一页添加有关文件接受的信息(“Tom Smith 接受的文档,2020-01-01” - 可能的多个接受)。我需要确定页面是否已填满或是否有足够的空间容纳我的文本。我想在 pdf 的最后一页上找到最后一个元素的位置 (y),以根据页面大小检查它。如果页面已满,我将添加一个新页面,然后添加新文本。
我不知道如何解决这个问题。我尝试使用 iText 和 PDFBOX 寻找答案,但没有令人满意的解决方案。
解决方案
基于光栅图像的方法:
使用您喜欢的任何库(Ghostscript?)将 pdf 的最后一页渲染为位图图像。72 dpi 应该足以满足您的目的。
然后,您可以使用任何图像处理库(如 openCV)并从下向上检查矩形区域(如果存在像素)。openCV 使用 CountNonZero() 函数非常快。
您还可以在图像中的任何位置找到任何大的白色区域,而不仅仅是在底部。此链接可能是您的起点。
https://answers.opencv.org/question/72939/how-to-find-biggest-white-zone-in-an-scanned-image/
推荐阅读
- python - 如何替换csv文件中的字符
- css - 我们是否需要所有字体系列文件才能使字体工作?
- javascript - 如何在 onClick 反应挂钩后清除日期选择器和输入数字
- python - 在 Windows CE 8.0 上运行 .exe
- emeditor - 用户通过文本输入窗口进行 em 编辑器多行输入
- angular - 在 Angular8 中的应用程序中使用 Font Awesome 图标
- iis - HTTP状态码500 0 0 294中的294是什么意思?
- c# - .net 核心内置的 cookie 同意功能是否会自动阻止 3rd 方 cookie?
- javascript - 在移相器中添加不是来自资产的图像
- extjs - Ext JS - 在 sencha 生产版本中,sencha cmd 正在删除 index.html 文件中的额外属性