我想阅读pdf而不是将所有数据导出到doc文件。我正在使用一个着名的库:itextsharp。
然而.pdf文件有一个有趣的功能。因此结果并不好。 .pdf文件示例为:
如您所见,在pdf文件中,选项(A,B,C,D和E)看起来像一条线。因此,结果如下:
我该如何正确地做到这一点?如何在没有换行的情况下用相关选项写出答案? (我使用了SimpleTextExtractionStrategy和LocationTextExtractionStrategy。它们都没有产生正确的输出。这是SimpleText方法的输出。这比Location更好。唯一的问题是答案和选择不在同一行)
public string ReadPdfFile(string Filename)
{
string strText = string.Empty;
try
{
PdfReader reader = new PdfReader(Filename);
for (int page = 1; page <= reader.NumberOfPages; page++)
{
ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy ();
String s = PdfTextExtractor.GetTextFromPage(reader, page, its);
s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
strText = strText + s + "\r\n";
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return strText;
}
由于