我使用开源工具iTextSharp读取我的Asp.Net MVC3应用程序中的.Pdf文件,该文件以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);
错误是索引超出了数组的范围。
问候。
答案 0 :(得分:0)
我通过将我的iTextSharp版本从5.1升级到5.2来解决了这个问题。