gpt4 book ai didi

java - 在提取数据的同时保持 PDF 的结构

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

enter image description here我正在尝试使用 iText 库从 PDF 文档中提取数据。我能够提取 PDF 文档,但在解析时无法保持 PDF 文件的结构。

我也尝试过 Apache Tika 和 pdfbox,但仍然无法维护文件的结构。到目前为止我尝试过的代码如下:

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 source = "C:/Users/xyz/Test.pdf";

public static final String dest = "C:/Users/xyz/Test.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());
}
out.flush();
out.close();
reader.close();
}
public static void main(String[] args) throws IOException {
new ExtractPageContent().parsePdf(source, dest);
}
}

最佳答案

试试这个..它对我有用。您需要使用 PDFBox api。它是从 pdf 文档中提取文本的最佳库。

import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.pdfbox.text.PDFTextStripperByArea;

public void readText(){
try {
PDDocument document = null;
document = PDDocument.load(new File("test.pdf"));
document.getClass();
if (!document.isEncrypted()) {
PDFTextStripperByArea stripper = new PDFTextStripperByArea();
stripper.setSortByPosition(true);
PDFTextStripper Tstripper = new PDFTextStripper();
String st = Tstripper.getText(document);
System.out.println("Text:" + st);
}
} catch (Exception e) {
e.printStackTrace();
}
}

关于java - 在提取数据的同时保持 PDF 的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37608583/

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