2

我正在尝试阅读古吉拉特邦选民名册的 PDF 文件(示例文件)。我需要以结构化格式提取所有信息。我正在使用 Apache 的 pdfbox 从 PDF 文件中提取文本。

我面临的问题是某些字符在转换中丢失了,并且转换后的文本中有很多噪音。请在此处找到转换后的文件。

编码

import java.io.*;
import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.util.*;
public class Main {
public static void main(String[] args){
PDDocument pd;
BufferedWriter wr;
try {
    File input = new File("myPDF_manual.pdf");
    File output = new File("newPaperTestFile.txt"); // The text file where you are going to store the extracted data
    pd = PDDocument.load(input);
    PDFTextStripper stripper = new PDFTextStripper();
    wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output)));
    stripper.writeText(pd, wr);
    if (pd != null) {
        pd.close();
        wr.close();
        System.out.println(" file processed.");
    }
 } catch (Exception e){
         e.printStackTrace();
        } 
     }
}

我还尝试了使用 PDFTextStripper 类的 getText() 方法的代码,但结果是一样的。

我还尝试使用适用于 linux 的 pdftohtml 命令行实用程序将 pdf 转换为 xml。但也有一些信息仍然丢失。xml文件可以在这里找到

请建议我解决此问题的任何解决方案。解决方案不需要特定于 Java。

4

0 回答 0