web-dev-qa-db-ja.com

Itextsharpを使用してPDF)で特定の単語を検索する

これはStackOverflowでの私の最初の投稿です。

システムドライブにPDFファイルがあります... Itextsharp.dll参照を使用してC#でプログラムを作成し、その中の特定の単語を検索しますPDF ...検索したいとします"StackOverFlow" ... PDFに "StackOverFlow"という単語が含まれている場合は、trueを返す必要があります。

それ以外の場合はfalseを返す必要があります。

私は多くの記事を調べましたが、今まで解決策を得られませんでした.. :-(

私が今まで試したことは:

public string ReadPdfFile(string fileName)
        {
            StringBuilder text = new StringBuilder();

            if (File.Exists(fileName))
            {
                PdfReader pdfReader = new PdfReader(fileName);

                for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                {
                    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
                    string currentText = "2154/MUM/2012 A";// PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);

                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
                pdfReader.Close();
            }
            return text.ToString();
        }

よろしくお願いします、Sabya Dev

11
user2553159

次の方法で問題ありません。テキストが見つかったページのリストが表示されます。

     public  List<int> ReadPdfFile(string fileName, String searthText)
            {
                List<int> pages = new List<int>();
                if (File.Exists(fileName))
                {
                    PdfReader pdfReader = new PdfReader(fileName);
                    for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                    {
                        ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

                        string currentPageText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
                        if (currentPageText.Contains(searthText))
                        {
                            pages.Add(page);
                        }
                    }
                    pdfReader.Close();
                }
                return pages;
            }
21
Lalitya