【问题标题】:read pdf files using java使用java读取pdf文件
【发布时间】:2011-04-30 06:02:21
【问题描述】:

我想解析 pdf 网站。

谁能说出如何使用java从pdf文件中提取所有单词(逐字)。

下面的代码从一个 pdf 文件中提取内容并将其写入另一个 pdf 文件。我希望程序将其写入文本文件。

import java.io.FileOutputStream;

import java.io.IOException;

import com.itextpdf.text.*;

import com.itextpdf.text.pdf.*;

public class pdf {

    private static String INPUTFILE = "http://www.britishcouncil.org/learning-infosheets-medicine.pdf" ;

    private static String OUTPUTFILE = "c:/new3.pdf";

    public static void main(String[] args) throws DocumentException,
            IOException {

        Document document = new Document();

        PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream(OUTPUTFILE));

        document.open();

        PdfReader reader = new PdfReader(INPUTFILE);

        int n = reader.getNumberOfPages();

        PdfImportedPage page;


        for (int i = 1; i <= n; i++) {

                page = writer.getImportedPage(reader, i);

                Image instance = Image.getInstance(page);

                document.add(instance);

        }

        document.close();

    }

}

提前致谢

【问题讨论】:

标签: java parsing pdf


【解决方案1】:

看看这个:

How to Read PDF File in Java(使用 Apache PDF Box 库)

【讨论】:

    【解决方案2】:

    使用org.apache.pdfbox

    import org.apache.pdfbox.*;
    
    public static String convertPDFToTxt(String filePath) {
            byte[] thePDFFileBytes = readFileAsBytes(filePath);
            PDDocument pddDoc = PDDocument.load(thePDFFileBytes);
            PDFTextStripper reader = new PDFTextStripper();
            String pageText = reader.getText(pddDoc);
            pddDoc.close();
            return pageText;
    }
    
    private static byte[] readFileAsBytes(String filePath) {
            FileInputStream inputStream = new FileInputStream(filePath);
            return IOUtils.toByteArray(inputStream);
    }
    

    【讨论】:

    • 我可以部分阅读pdf文件吗?例如,只有第一页,或者直到某个文本出现,而不是阅读整个 pdf 文件?这样我就可以避免下载整个文件。
    猜你喜欢
    • 2011-09-10
    • 2011-06-14
    • 2015-12-14
    • 2015-09-27
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多