不断收到 IndexOutOfRangeException 是未处理的异常。
var sb = new StringBuilder();
var bdn = String.Format("{0}\\bdn.pdf", Application.StartupPath);
var reader = new PdfReader("bdn.pdf");
var numberOfPages = reader.NumberOfPages;
for (var currentPageIndex = 1; currentPageIndex <= numberOfPages; currentPageIndex++)
{
sb.Append(PdfTextExtractor.GetTextFromPage(reader, currentPageIndex));
}
最佳答案
确保您运行的 iTextSharp 版本大于 5.1,该版本有一个与您的问题完全匹配的错误:
- iTextSharp v5 GetTextFromPage() throws IndexOutOfRangeException
- Index was outside the bounds of the array while reading a .Pdf using iTextSharp
刚刚使用 5.5.4.0(最新版本)测试,使用此代码,有效:
StringBuilder sb = new StringBuilder();
// substitute 'pdfPath' with path to YOUR PDF
PdfReader reader = new PdfReader(pdfPath);
int pageNumber = 1;
while (pageNumber <= reader.NumberOfPages) {
sb.Append(PdfTextExtractor.GetTextFromPage(reader, pageNumber));
++pageNumber;
}
关于c# - iTextSharp 索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27831518/