using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace PDF_Text_Stripper; public class Program { private static void PDFTextStripper(string file) { string altFileName = Path.ChangeExtension(file, ".txt"); if(File.Exists(altFileName)) File.Delete(altFileName); org.apache.pdfbox.pdmodel.PDDocument pdfDocument = org.apache.pdfbox.pdmodel.PDDocument.load(file); org.apache.pdfbox.util.PDFTextStripper stripper = new(); string text = stripper.getText(pdfDocument); pdfDocument.close(); File.WriteAllText(altFileName, text); } public static void Secondary(List args) { int silentIndex = args.IndexOf("s"); if (silentIndex > -1) args.RemoveAt(silentIndex); try { if (args.Any() && File.Exists(args[0])) PDFTextStripper(args[0]); else throw new Exception(args[0]); } catch (Exception ex) { Console.WriteLine(string.Concat(ex.Message, Environment.NewLine, ex.StackTrace)); } if (silentIndex > -1) Console.WriteLine("Done. Bye"); else { Console.WriteLine("Done. Press 'Enter' to end"); _ = Console.ReadLine(); } } public static void Main(string[] args) { if (args is not null) Secondary(args.ToList()); else Secondary(new List()); } }