我需要按顺序解析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();
}
}