java - PDFbox库页面迭代
问题描述
我实现了一种从 PDF 文档中的每个 PDF 页面捕获特定区域的方法,因此捕获该区域的方法采用 PDPage 和 Rectangle 对象,现在我想遍历每个页面并找到位于的第一个字符串(文本)给定的坐标。getPages() 返回 PDPageTree 所以我有点卡住了,因为我不知道如何检查每一页,因为现在它遍历每一页。
public PDPageTree getPages() {
return getPDDocument().getPages();
}
public String firstInvoiceNumber() throws IOException {
Rectangle invoiceRectangle = new Rectangle(176, 176, 100, 18);
String headerTextResult = "";
for (PDPage pd : getPages()) {
headerTextResult = StripByArea(pd, invoiceRectangle);
}
return headerTextResult;
}
解决方案
执行以下操作:
public String firstInvoiceNumber() throws IOException {
Rectangle invoiceRectangle = new Rectangle(176, 176, 100, 18);
String headerTextResult = "";
for (PDPage pd : getPages()) {
headerTextResult = StripByArea(pd, invoiceRectangle);
if(!"".equals(headerTextResult)) {
break;
}
}
return headerTextResult;
}
推荐阅读
- asp.net-core - 控制器在解决方案重命名后不可用
- single-sign-on - 从 Keycloak 注销不会注销 Active Directory 用户
- python - 如何在不覆盖数据的情况下合并具有相同键的两个字典?
- windows - 列出已安装的 Windows Xbox 游戏位置
- centos7 - CentOS 7 kickstart 文件设置主机名与 hostnamectl
- reactjs - NextJS 获取组件外的查询
- c# - C# 中有没有办法将较小的对象统一为较大的对象(想想 TypeScript 联合类型)?
- kubernetes-helm - 使用 helm 修补现有资源
- javascript - Vue - 类型“App”上不存在属性“$router”
- perl - 如何运行这个 Bismark 亚硫酸氢盐测序程序?