Ho bisogno di leggere un file pdf e cercare un testo. Devo visualizzare in quale pagina esiste quel testo e il numero di occorrenze. Posso leggere il pdf in testo ma ho bisogno di sapere il numero di pagina.Ricerca testo in PDF C#
Grazie
Ho bisogno di leggere un file pdf e cercare un testo. Devo visualizzare in quale pagina esiste quel testo e il numero di occorrenze. Posso leggere il pdf in testo ma ho bisogno di sapere il numero di pagina.Ricerca testo in PDF C#
Grazie
È possibile utilizzare Docotic.Pdf per questo (lavoro per Bit Miracle).
Ecco un esempio di come per la ricerca di testo in PDF:
PdfDocument doc = new PdfDocument("file.pdf");
string textToSearch = "some text";
for (int i = 0; i < doc.Pages.Count; i++)
{
string pageText = doc.Pages[i].GetText();
int count = 0;
int lastStartIndex = pageText.IndexOf(textToSearch, 0, StringComparison.CurrentCultureIgnoreCase);
while (lastStartIndex != -1)
{
count++;
lastStartIndex = pageText.IndexOf(textToSearch, lastStartIndex + 1, StringComparison.CurrentCultureIgnoreCase);
}
if (count != 0)
Console.WriteLine("Page {0}: '{1}' found {2} times", i, textToSearch, count);
}
È possibile rimuovere terzo argomento per IndexOf
metodo se si desidera eseguire la ricerca tra maiuscole e minuscole.
Avete controllato itextsharp out? http://itextsharp.sourceforge.net/
EDIT: di elaborare, nel sommario, ho visto una sezione su: 15.3.3: il testo Estrazione con PdfReaderContentParser e PdfTextExtractor
E sotto PdfReaderContentParser: http://api.itextpdf.com/com/itextpdf/text/pdf/parser/PdfReaderContentParser.html c'è un'opzione per elaborare il contenuto in pdf per pagina.
Quindi sembra essere un modo approssimativo, ma è possibile scorrere attraverso ciascuna pagina, cercando il contenuto per la parola che si desidera e quindi restituire la pagina in cui è stato trovato.
Grazie Bobrovsky Proverò questo .. – dps123
Come una FYI per i futuri lettori, Docotic. Pdf non è più gratuito. http://bitmiracle.com/pdf-library/free-pdf-library.aspx Suggerisco di provare Apache PDFBox (è completamente gratuito e lo è stato dalla sua uscita) – Keplah
Ho aggiornato la mia risposta. – Bobrovsky