iTextSharp を使用して PDF ファイルからテキストを抽出するのがいかに簡単であるかを知って、うれしい驚きを覚えました。この記事に従って、次の簡単なコードで PDF ファイルをテキストに変換することができました。
string pdfFilename = dlg.FileName;
// Show just the file name, without the path
string pdfFileNameOnly = System.IO.Path.GetFileName(pdfFilename);
lblFunnyMammalsFile.Content = pdfFileNameOnly;
string textFilename = String.Format(@"C:\Scrooge\McDuckbilledPlatypus\{0}.txt", pdfFileNameOnly);
PDFParser pdfParser = new PDFParser();
if (!pdfParser.ExtractText(pdfFilename, textFilename))
{
MessageBox.Show("there was a boo-boo");
}
問題は、生成されたテキスト ファイルに次のようなテキストが含まれていることです (つまり、スペースがありません)。
IwaspleasantlysurprisedtofindhoweasyitistouseiTextSharptoextractthetextfromatextfile.
そのようなテキストを取得し、単語の区切り(別名「スペース」)がどこに行くべきかについて最善の推測をする「そこに」アルゴリズムはありますか?