【问题标题】:Extract text from PDFbox从 PDFbox 中提取文本
【发布时间】:2021-01-28 12:27:06
【问题描述】:

我有两张类似的样票,一张是横向的,另一张是纵向的。

1st image 2nd image

第一张图片的结果是

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,您的问题并不能说明您使用的是 PDFBox 还是 tesseract 或两者兼而有之。
  • 确实,这可以通过激活排序来解决。不幸的是,这里只附上了位图图像,而不是原始 PDF,所以我们只能假设......
  • 如果 pdf 格式是预先确定的,那么我会相应地将其剪掉,并为每个文件使用特定的 psm 来查找文本。

标签: java ocr pdfbox tess4j


【解决方案1】:

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);

【讨论】:

  • 很可能这正是 OP 当前所做的以及导致输出中文本排列方式不同的原因...
猜你喜欢
  • 2012-12-30
  • 1970-01-01
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 2014-07-11
  • 2013-11-15
  • 2018-09-12
  • 2016-12-06
相关资源
最近更新 更多