📜  从 PDF 中提取内容的Java程序

📅  最后修改于: 2022-05-13 01:54:48.358000             🧑  作者: Mango

从 PDF 中提取内容的Java程序

使用使用 Apache Tika< 库的Java class< 文件。对于各种文件格式的文档类型检测和内容提取,它使用各种文档解析器和文档类型检测技术来检测和提取数据。它提供了一个用于解析不同文件格式的通用 API。所有这些解析器库都封装在一个称为解析器接口的接口中。

Java支持多个内置类和包来提取和访问 PDF 文档中的内容。以下类用于提取内容:

程序:

  1. 创建一个内容处理程序。
  2. 在系统的本地目录中创建一个 PDF 文件。
  3. 现在,创建一个与上述创建的 PDF 文件具有相同路径的 FileInputStream。
  4. 使用 PDF 文档的元数据类型对象创建内容解析器。
  5. PDF 文档现在使用 PDF 解析器类进行解析。
  6. 打印如上创建的 PDF 文档的内容,以说明上述 PDF 中内容的提取。

实现:以下Java程序用于说明从PDF文档中提取内容。

Java
// Java Program to Extract Content from a PDF
 
// Importing java input/output classes
import java.io.File;
import java.io.FileInputStream;
// Importing Apache POI classes
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.pdf.PDFParser;
import org.apache.tika.sax.BodyContentHandler;
 
// Class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Create a content handler
        BodyContentHandler contenthandler
            = new BodyContentHandler();
 
        // Create a file in local directory
        File f = new File("C:/extractcontent.pdf");
 
        // Create a file input stream
        // on specified path with the created file
        FileInputStream fstream = new FileInputStream(f);
 
        // Create an object of type Metadata to use
        Metadata data = new Metadata();
 
        // Create a context parser for the pdf document
        ParseContext context = new ParseContext();
 
        // PDF document can be parsed using the PDFparser
        // class
        PDFParser pdfparser = new PDFParser();
 
        // Method parse invoked on PDFParser class
        pdfparser.parse(fstream, contenthandler, data,
                        context);
 
        // Printing the contents of the pdf document
        // using toString() method in java
        System.out.println("Extracting contents :"
                           + contenthandler.toString());
    }
}



输出:以下是本地目录下的文件内容如下: