グジャラート州選挙人名簿の PDF ファイル (サンプル ファイル)を読み込もうとしています。すべての情報を構造化された形式で抽出する必要があります。PDFファイルからテキストを抽出するために、Apacheのpdfboxを使用しています。
私が直面している問題は、特定の文字が変換で失われ、変換されたテキストに多くのノイズがあることです。変換されたファイルは こちらにあります。
コード
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 固有である必要はありません。