在itext中使用PdfTextExtractor的问题!

2 c# search itextsharp

首先请原谅我的英语不好!我想在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)

}

Mar*_*rer 5

不幸的是,SimpleTextExtractionStrategy不允许您重置它,因此您必须在循环内移动"new SimpleTextExtractionStrategy()"而不是重用相同的对象.