我正在尝试使用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);
答案 0 :(得分:0)
问题是我正在以字符串形式阅读内容, 不应该的地方。如下所示。 Content Text 所以使用ToUnicodeString()解决了这个问题。
annotation.GetAsString(PdfName.CONTENTS).ToUnicodeString();