如何使用C#使用ITextSharp搜索PDF文件中的文本?

时间:2017-12-26 04:50:12

标签: c# html asp.net itext

我想从PDF文件中搜索特定文本,如果PDF包含图像或段落我也想从图像和段落中搜索文本。并在视图中显示,我如何实现这一点。

我有来自其他来源的以下代码,但我不知道天气是否正在搜索图像中的文字。

 string file = Server.MapPath("~/images/OoPdfFormExample.pdf");
            if (System.IO.File.Exists(file))
            {
                string searchText = txtSearh.Text.Trim();
                string currentText = string.Empty;
                System.Text.StringBuilder pdfText = new System.Text.StringBuilder();
                iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(file);
                for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                {
                    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
                    currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
                    currentText = System.Text.Encoding.UTF8.GetString(Encoding.Convert (Encoding.Default, Encoding.UTF8, Encoding.UTF8.GetBytes(currentText)));
                    pdfText.Append(currentText);
                }
                pdfReader.Close();
                List<string> lines = new List<string>();
                lines = pdfText.ToString().Trim().Split(' ').ToList();
                List<string> matchedWord = new List<string>();
                foreach (string item in lines)
                {
                    if (!string.IsNullOrEmpty(item))
                    {
                        if (item.ToUpper().Contains(searchText.ToUpper()))
                        {
                            matchedWord.Add(item);
                        }
                    }
                }
            }

有人可以帮忙吗?

0 个答案:

没有答案