У меня есть ниже кодiTextSharp PDF Read Error
using (var reader = new PdfReader(pdfPath))
{
for (int pageIndex = 1; pageIndex <= reader.NumberOfPages; pageIndex++)
{
var text = PdfTextExtractor.GetTextFromPage(reader, pageIndex);
//my other logic goes here
}
}
Я получаю значение не может быть пустым на линии
using (var reader = new PdfReader(pdfPath))
Я не знаю, почему он не в течение нескольких PDF-файлов. Я могу читать 100 файлов PDF, но только 4 PDF-файла, я получаю эту ошибку.
Ошибка:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at System.util.collections.HashSet2`1.AddAndCheck(T item)
at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
at iTextSharp.text.pdf.PdfReader.PageRefs.ReadPages()
at iTextSharp.text.pdf.PdfReader.PageRefs..ctor(PdfReader reader)
at iTextSharp.text.pdf.PdfReader.ReadPages()
at iTextSharp.text.pdf.PdfReader.ReadPdf()
at iTextSharp.text.pdf.PdfReader..ctor(IRandomAccessSource byteSource, Boolean partialRead, Byte[] ownerPassword, X509Certificate certificate, ICipherParameters certificateKey, Boolean closeSourceOnConstructorError)
at iTextSharp.text.pdf.PdfReader..ctor(String filename)
Моя iTextSharp версия 5.5.7.0
Не могли бы вы указать имя файла, которое генерирует исключения? –
Имя файла: Bills_080415.pdf ... У меня есть много таких файлов, обработанных с использованием этого кода с тем же соглашением об именах файлов. – techspider
Я взглянул на исключение, и, похоже, это происходит во время вызова метода iTextSharp.text.pdf.PdfReader.ReadPages. Возможно, файл сломан или не совсем отформатирован сам. –