使用Java代码逐行[顺序]读取PDF文件并将其转换为文本

时间:2014-04-03 12:06:11

标签: parsing pdf sequential

我需要按顺序解析pdf。我使用apache的pdfbox进行解析。但问题是,输出不是PDF中显示的方式

例如:

如果PDF包含“我正在使用Apache的PDFBOX解析PDF ”,则删除的输出类似于“ Apache的PDFBOX使用PDF我正在解析 *

使用过的代码:

public static void readingPageByPage(PDDocument doc)throws IOException
    {
        byte page = 1; //page the data is contained on
        try{
            if (doc.isEncrypted()) {//To check for Password protected PDF.
                doc.decrypt("");//Trying to decrypt with a empty string.
                doc.setAllSecurityToBeRemoved(true);
            }
            PDDocumentCatalog cat = doc.getDocumentCatalog();
            List<PDPage> pageList = cat.getAllPages();//Get all pages of the PDF as PDPage list
            PDFTextStripper pdfStripper =  new PDFTextStripper();
            if((pageList != null) && (!pageList.isEmpty())){

                for (PDPage pdPage : pageList) {
                    pdfStripper.setStartPage(page);
                    pdfStripper.setEndPage(page);
                    String pageText = pdfStripper.getText(doc);//Contains the content of the page
                    System.out.println(pageText);
                    page++;
                }
            }
            doc.close();
        }   catch (Exception e){
            e.printStackTrace();
        }
    }

0 个答案:

没有答案