gpt4 book ai didi

java - 如何在Java中将文件夹中的多个pdf解析为文本

转载 作者:太空宇宙 更新时间:2023-11-04 11:32:59 25 4
gpt4 key购买 nike

我有一个包含大量 pdf 的文件夹,我需要将它们全部转换为 txt 并将这些文本文件保存在另一个文件夹中。我想使用 java 来实现此目的。

我有这段代码来解析 pdf,但它一次只能处理一个 pdf,而且我需要处理一个包含数千个 pdf 的文件夹。

 PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File("C:/my.pdf");

try {
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(20);
String parsedText = pdfStripper.getText(pdDoc);
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

有什么想法吗?

最佳答案

你可以尝试这样的事情

PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
String parsedText=""; // append the text to this every time
File folder = new File("/yourFolder"); // put all the pdf files in a folder
File[] listOfFiles = folder.listFiles(); // get all the files as an array

for (File file : listOfFiles) { // cycle through this array
if (file.isFile()) { // for every file
try { //do the same
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(pdDoc.getNumberOfPages()); // if always till the last page
parsedText += pdfStripper.getText(pdDoc) + System.lineSeparator(); // append the text to the String
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

关于java - 如何在Java中将文件夹中的多个pdf解析为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43591568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com