Entonces, una actualización, obtuve mi código para poder leer un solo archivo pdf y analizar la información en un archivo de texto. Excelente. Ahora quiero averiguar cómo hacer las siguientes dos cosas.
Obtenga el programa para poder leer más de 1 archivo pdf. Si pudiera hacer que leyera una carpeta de archivos completa, sería lo mejor. No estoy seguro de cómo cambiar el código para hacer eso, pero sé que no puede ser tan diferente.
Cambia el método de activación. Si pudiera hacer que el código se ejecutara cada vez que se colocaba un nuevo archivo en una carpeta, sería absolutamente asombroso. Eso tiene que ser posible, tener de alguna manera un detector de eventos que se active cada vez que un archivo se coloque en una carpeta y analice la información.
public static string ExtractTextFromPdf(string path) { ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy(); using (PdfReader reader = new PdfReader(path)) { StringBuilder text = new StringBuilder(); for (int page = 1; page <= reader.NumberOfPages; page++) { ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); string currentText = PdfTextExtractor.GetTextFromPage(reader, page, strategy); currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))); text.Append(currentText); } System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\kttricic\OneDrive - Burns & McDonnell\Desktop\test file\POs\test"); file.WriteLine(text); file.Close(); return text.ToString(); } } static void Main(string[] args) { Console.WriteLine(ExtractTextFromPdf(@"C:\Users\kttricic\OneDrive - Burns & McDonnell\Desktop\test file\POs\PO 4505234816 Siemens Industry, Inc. 6.15.21.pdf")); }