从 PDFbox 中提取文本

问题描述

我有两张类似的样票,一张是横读,一张是竖读。

第一张图片 第二张图

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