Индекс находился за пределами массива при чтении .Pdf с использованием iTextSharp - PullRequest
0 голосов
/ 21 января 2012

Я использую инструмент с открытым исходным кодом 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);

Ошибка составляет Индекс находится за пределами массива.
С уважением.

1 Ответ

0 голосов
/ 19 апреля 2012

Я решил эту проблему, обновив мою версию iTextSharp с 5.1 до 5.2.

...