如何使用TIKA读取PDF文件的前几页



我目前正在使用以下代码使用TIKA库提取PDF文件的内容和元数据。有没有一种方法可以读取特定的页面,或者将解析限制在TIKA中的前几页?

public static void main(final String[] args) throws IOException,TikaException, SAXException {
      BodyContentHandler handler = new BodyContentHandler();
      Metadata metadata = new Metadata();
      FileInputStream inputstream = new FileInputStream(new File("test/test.pdf"));
      ParseContext pcontext = new ParseContext();
      //parsing the document using PDF parser
      AutoDetectParser pdfparser = new AutoDetectParser(); 
      pdfparser.parse(inputstream, handler, metadata,pcontext);
      //getting the content of the document
      System.out.println("Contents of the PDF :" + handler.toString());
      //getting metadata of the document
      //System.out.println("Metadata of the PDF:");
      String[] metadataNames = metadata.names();
      System.out.println(metadata.get("xmpTPg:NPages"));
      for(String name : metadataNames) {
         System.out.println(name+ " : " + metadata.get(name));
      }
   }

TIKA并不真正处理页面,但它确实在页面之前发送<div><p>,在页面之后发送</p></div>。您可以编辑处理程序的startElementendElement来搜索这些字符。

如果您需要更多信息,可以查看topchef的答案
https://stackoverflow.com/a/6271696/2197529

相关内容

  • 没有找到相关文章

最新更新