在评论中,OP澄清说他从pdf文件中的表中找到文本值他要提取
提供X和Y坐标
因此,虽然这个问题最初听起来像是从PDF中通用提取表格数据(至少可能很困难),但它实际上主要是从坐标给出的页面上的矩形区域中提取文本。
这可以使用您提到的任何一个库(当然也包括其他库)。
iText的
要限制要从中提取文字的区域,您可以使用RegionTextRenderFilter中的FilteredTextRenderListener,例如:
/**
* Parses a specific area of a PDF to a plain text file.
* @param pdf the original PDF
* @param txt the resulting text
* @throws IOException
*/
public void parsePdf(String pdf, String txt) throws IOException {
PdfReader reader = new PdfReader(pdf);
PrintWriter out = new PrintWriter(new FileOutputStream(txt));
Rectangle rect = new Rectangle(70, 80, 490, 580);
RenderFilter filter = new RegionTextRenderFilter(rect);
TextExtractionStrategy strategy;
for (int i = 1; i <= reader.getNumberOfPages();