Я использую инструмент с открытым исходным кодом iTextSharp, чтобы прочитать файл .Pdf в моем приложении Asp.Net MVC3, который написан на c # .Net.
Ниже приведен мой код.
filePath = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
Path.GetFileName(Infile.FileName));
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
}
Infile.SaveAs(filePath);
var pdfdoc = new iTextSharp.text.Document();
PdfReader reader2 = new PdfReader((string)filePath);
string strText = string.Empty;
for (int page = 1; page <= reader2.NumberOfPages; page++)
{
iTextSharp.text.pdf.parser.ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();
PdfReader reader = new PdfReader((string)filePath);
String s = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, page,its);
s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
strText = strText + s;
reader.Close();
}
Я получаю сообщение об ошибке на линии
String s = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, page,its);
Ошибка составляет Индекс находится за пределами массива.
С уважением.