0
我想使用ItextSharp讀取PDF文件,但是我注意到包含在文本框中的文本未被讀取。ItextSharp讀取文本框文本
請有任何建議。
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);
你在說哪個文本框?請更準確地說明您所指的註釋類型。 –
如果你正在談論文本字段,請扔掉你的代碼,並閱讀一些文檔。由窗口小部件註釋表示的類似文本的表單字段看起來像文本框,不要將它們的值存儲在'/ Contents'中,而是存儲在'/ V'中。此外,您不應該從窗口小部件註釋字典中獲取該值,而應從字段字典中獲取該值。用於獲取AcroForm中文本字段值的iText代碼比現在的要容易得多,但不清楚您是在討論文本字段還是文本註釋。 –
你說得對,我正在閱讀文本字段。感謝您的評論。我會在完成後發佈它。 –