如何将 PDF 转换为 JSON/EXCEL/WORD 文件?
How to convert a PDF to a JSON/EXCEL/WORD file?
我需要从 pdf 文件中获取数据 header 以进一步与数据库数据进行比较
我尝试使用 pdfbox、google vision ocr、itext,但所有图书馆都给了我一个没有结构的行和 headers。
示例:Date\nNumber\nStatus\n1220\n442334\delivered
我会尝试将 pdf 转换为 excel/word 并从中获取数据,但为了实现这一点,我需要读取 pdf 并将数据写入 excel/word
如何使用 header 获取数据?
"Date\nNumber\nStatus\n12/12/2020\n442334\ndelivered" 对我来说看起来足够结构化。您可以将它拆分为“\n”。不过,这需要对 table 结构有一些了解。
我对 Google Vision OCR 有很好的体验。你怎么称呼它?
我的问题没有找到答案。
我将此代码用于我的任务:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.text.PDFTextStripperByArea;
import java.awt.*;
import java.io.File;
import java.io.IOException;
public class ExtractTextByArea {
public String getTextFromCoordinate(String filepath,int x,int y,int width,int height) {
String result = "";
try (PDDocument document = PDDocument.load(new File(filepath))) {
if (!document.isEncrypted()) {
PDFTextStripperByArea stripper = new PDFTextStripperByArea();
stripper.setSortByPosition(true);
// Rectangle rect = new Rectangle(260, 35, 70, 10);
Rectangle rect = new Rectangle(x,y,width,height);
stripper.addRegion("class1", rect);
PDPage firstPage = document.getPage(0);
stripper.extractRegions( firstPage );
// System.out.println("Text in the area:" + rect);
result = stripper.getTextForRegion("class1");
}
} catch (IOException e){
System.err.println("Exception while trying to read pdf document - " + e);
}
return result;
}
}
我需要从 pdf 文件中获取数据 header 以进一步与数据库数据进行比较
我尝试使用 pdfbox、google vision ocr、itext,但所有图书馆都给了我一个没有结构的行和 headers。
示例:Date\nNumber\nStatus\n1220\n442334\delivered
我会尝试将 pdf 转换为 excel/word 并从中获取数据,但为了实现这一点,我需要读取 pdf 并将数据写入 excel/word
如何使用 header 获取数据?
"Date\nNumber\nStatus\n12/12/2020\n442334\ndelivered" 对我来说看起来足够结构化。您可以将它拆分为“\n”。不过,这需要对 table 结构有一些了解。
我对 Google Vision OCR 有很好的体验。你怎么称呼它?
我的问题没有找到答案。
我将此代码用于我的任务:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.text.PDFTextStripperByArea;
import java.awt.*;
import java.io.File;
import java.io.IOException;
public class ExtractTextByArea {
public String getTextFromCoordinate(String filepath,int x,int y,int width,int height) {
String result = "";
try (PDDocument document = PDDocument.load(new File(filepath))) {
if (!document.isEncrypted()) {
PDFTextStripperByArea stripper = new PDFTextStripperByArea();
stripper.setSortByPosition(true);
// Rectangle rect = new Rectangle(260, 35, 70, 10);
Rectangle rect = new Rectangle(x,y,width,height);
stripper.addRegion("class1", rect);
PDPage firstPage = document.getPage(0);
stripper.extractRegions( firstPage );
// System.out.println("Text in the area:" + rect);
result = stripper.getTextForRegion("class1");
}
} catch (IOException e){
System.err.println("Exception while trying to read pdf document - " + e);
}
return result;
}
}