ItextSharp读取文本框文本

时间:2017-07-13 13:10:36

标签: c# itext

我正在尝试使用ItextSharp阅读PDF文件,但我注意到文本框中包含的文本未被阅读。

请任何建议。

 PdfDictionary pagedic = pdfRead.GetPageN(page);
 PdfArray annotarray = (PdfArray)PdfReader.GetPdfObject(pagedic.Get(PdfName.ANNOTS));
 if (annotarray == null || annotarray.Size == 0)
      continue;
 string Title = "";
 string Title2 = "";
 string Content2 = "";
 foreach (PdfObject A in annotarray.ArrayList)
 {
     PdfDictionary AnnotationDictionary = (PdfDictionary)PdfReader.GetPdfObject(A);
     Title2 += AnnotationDictionary.GetAsString(PdfName.T).ToString() + "\n";
     if (AnnotationDictionary.GetAsString(PdfName.CONTENTS)!=null)
     {
         Content2 += AnnotationDictionary.GetAsString(PdfName.CONTENTS).ToString() + "\n";
     }
     if (AnnotationDictionary.GetAsString(PdfName.T)!=null)
     {
         Title += AnnotationDictionary.GetAsString(PdfName.T).ToString() + "\n";
     }
     if (AnnotationDictionary.GetAsString(PdfName.T)!=null)
     {
         txt += AnnotationDictionary.GetAsString(PdfName.T).ToString() + "\n";
     }                    
     if (AnnotationDictionary.GetAsString(PdfName.CONTENTS)!=null)
     {
         txt += PdfName.CONTENTS.ToString() + "\n";
     }
     txt += AnnotationDictionary.GetAsString(PdfName.NOTE) + "\n";
     txt += AnnotationDictionary.GetAsString(PdfName.FREETEXT)+"\n";
 }
 MessageBox.Show(txt);
 MessageBox.Show(Title);
 MessageBox.Show(Title2);
 MessageBox.Show(Content2);

1 个答案:

答案 0 :(得分:0)

问题是我正在以字符串形式阅读内容, 不应该的地方。如下所示。 Content Text 所以使用ToUnicodeString()解决了这个问题。

annotation.GetAsString(PdfName.CONTENTS).ToUnicodeString();