itextsharp extract text pdf无效

时间:2018-02-07 19:45:48

标签: itext

我无法从网页上获取文字。

对象引用错误未设置为对象的实例,粗体显示。

String extractText = PdfTextExtractor.GetTextFromPage(pdfReader,i);

请按照以下代码

 var pdfText = new StringBuilder();
 using (var pdfReader = new PdfReader(cbPdf.SelectedValue + ""))
 {
      for (var i = 0; i <= pdfReader.NumberOfPages; i++)
      {
         String extractText = PdfTextExtractor.GetTextFromPage(pdfReader, i);
         extractText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(extractText)));
         pdfText.Append(extractText);
      }
 }
 rtxtTexto.Text = pdfText.ToString();

1 个答案:

答案 0 :(得分:1)

iText将页面编号为1,即第一页的编号为1。

您已经在循环结束时考虑了这一点(通过使用<=进行比较),而不是在开始时(从0开始)。

因此,

for (var i = 1; i <= pdfReader.NumberOfPages; i++)

据说,据我所知,你的行

extractText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(extractText)));

是废话。