pdfwriter para net license generar asp c# pdf itextsharp

c# - para - itextsharp pdf



Buscar una palabra en particular en PDF usando Itextsharp (1)

Esta es mi primera publicación en StackOverflow.

Tengo un archivo PDF en mi unidad del sistema ... Quiero escribir un programa en C # utilizando la referencia Itextsharp.dll para buscar una palabra en particular en ese PDF ... decir que quiero buscar "StackOverFlow" ... Si el PDF contiene la palabra "StackOverFlow", debería devolver true.

De lo contrario, debe devolver falso.

He investigado muchos artículos pero no obtuve la solución hasta ahora ... :-(

Lo que he intentado hasta ahora es:

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(); }

Gracias de antemano, Sabya Dev


El siguiente método funciona bien. Proporciona la lista de páginas en las que se encuentra el texto.

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; }