首先请原谅我的英语不好!我想在pdf文档中搜索"Hello"之类的单词.所以我必须通过PdfTextExtractor阅读pdf中的每一页.我做得很好.我可以分别读取每个页面中的所有单词,并将其保存在字符串缓冲区中.但是当我在For循环中推送此代码时(例如从第1页到第7页进行搜索),前一页的单词将保留在字符串缓冲区中.我跳了解你的问题.Tanx全部.这是我的代码:
PdfReader reader2 = new PdfReader(openFileDialog1.FileName);
int pagen = reader2.NumberOfPages;
reader2.Close();
ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();
for (int i = 1; i < pagen; i++)
{
textBox1.Text = "";
PdfReader reader = new PdfReader(openFileDialog1.FileName);
String s = PdfTextExtractor.GetTextFromPage(reader, i, its);
//MessageBox.Show(s.Length.ToString());
//PdfTextArray h = new PdfTextArray(s);
//
// s = "";
s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
textBox1.Text = s;
reader.Close();
Run Code Online (Sandbox Code Playgroud)
}
不幸的是,SimpleTextExtractionStrategy不允许您重置它,因此您必须在循环内移动"new SimpleTextExtractionStrategy()"而不是重用相同的对象.
归档时间: |
|
查看次数: |
10506 次 |
最近记录: |