如何从pdf文件中提取段落并存储其位置?

时间:2014-08-03 23:14:49

标签: pdfbox pdf-extraction

我将使用PDFBox库提取PDF文件的内容。内容应逐段处理,对于每一段,我需要其后续处理的位置。使用以下代码,我可以提取输入PDF的全部内容:

PDDocument doc = PDDocument.load(file);
PDFTextStripper stripper = new PDFTextStripper();
String txt = stripper.getText(doc);
doc.close();

我有两个问题:

  1. 我不知道如何逐段提取内容。
  2. 我不知道如何存储段落的位置以进行后续处理(例如突出显示等)。
  3. 感谢。

1 个答案:

答案 0 :(得分:0)

我使用Poppler的命令行pdftohtml来提取富文本,但如果你需要段落清理,那么PDF必须是标记的PDF。如果您需要段落的(x,y)坐标,那么您需要深入挖掘Poppler。还可以使用Apache PDFbox Java库。如果您在段落的开头做了注释,那么您可以从PDF中提取注释作为XML,您将在其中找到注释的(x,y)坐标! Adobe在PDF中加入了一个聪明的加密技术,使其无法发现,因此在没有Adobe工具的情况下解决这个问题可能并不容易(除了所有合法的麻烦等)。