如何使用java将pdf文件中的图像转换为文本

时间:2016-12-21 09:56:50

标签: java maven itext pdftotext

请帮助我,如何使用java将pdf文件中的图像转换为文本。 我正在使用maxt依赖的itext txttopdf库。 这是我的代码。它成功地将pdf文件中的文本转换为文本文件。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
import com.itextpdf.text.pdf.parser.TextExtractionStrategy;

public class ExtractPageContent {

    public static final String PREFACE = "C:/Latest Maven Code/pdttotextconvertor/target/classes/SCORE.pdf";
    public static final String RESULT = "C:/Latest Maven Code/pdttotextconvertor/target/classes/SCORE.txt";

    public void parsePdf(String pdf, String txt) throws IOException {
        PdfReader reader = new PdfReader(pdf);
        PdfReaderContentParser parser = new PdfReaderContentParser(reader);
        PrintWriter out = new PrintWriter(new FileOutputStream(txt));
        TextExtractionStrategy strategy;
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            out.println(strategy.getResultantText());
        }
        reader.close();
        out.flush();
        out.close();
    }

    public static void main(String[] args) throws IOException {
        ExtractPageContent extractPageContent = new ExtractPageContent(); 
        extractPageContent.parsePdf(PREFACE, RESULT);
        System.out.println("DONE");
    }
}

Maven Dependency添加的是:

<dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.1</version>
    </dependency>

请帮忙。 提前谢谢。

0 个答案:

没有答案