java - 从 PDFbox 中提取文本
问题描述
我有两张类似的样票,一张是横向的,另一张是纵向的。
在第一张图片中,结果是
BOOKING ID : BBT3001402
HI ! YOUR BOOKING AT MATHURA EXECUTIVE IS CONFIRMED!
CHECK IN
31
JANUARY
FRIDAY
NIGHTS
4N
CHECK OUT
4
FEBRUARY
TUESDAY
BOOKING DETAILS:
第二张图片结果
BOOKING ID : BBT2601540
HI ! YOUR BOOKING AT VIVANTA BENGALURU, RESIDENCY ROAD IS CONFIRMED!
CHECK IN NIGHTS CHECK OUT
27 7N 03
JANUARY FEBRUARY
WEDNESDAY WEDNESDAY
BOOKING DETAILS:
我希望 PDFbox 以任何一种固定格式(水平/垂直)读取数据。
解决方案
PDFBox 用于 pdf 操作,它不做 OCR 开箱即用,你需要像 ApacheTika 或 Tesseract OCR 这样的东西
如果pdf中已经有文本,您可以像这样提取它
PDFTextStripper stripper = new PDFTextStripper();
stripper.setStartPage(1); // 1 based
stripper.setEndPage(1);
String extractedText = stripper.getText(doc);
System.out.println(extractedText);
推荐阅读
- excel - 如何使用谷歌表格中的查询公式从数据自动生成每日报告
- mysql - 如何每天使用 GROUP BY 制作可以出现在两个不同表中的 COUNT 个项目?
- python - 在日期时间数据框熊猫中只保留年月日
- angular - 根据配置模式测试环境变量
- r - 使用 r 基于组中的条件聚合从级别自动生成列
- sql - postgres 中的子查询
- bash - 如何使用 grep 或其他命令以正确的方式提取匹配?
- c# - 如何创建和使用异步命令抽象类?
- ruby-on-rails - React 中的可点击 JSON 与 Ruby on Rails
- javascript - Firebase Firestore 克隆文档子集合和数据