Advertisement
MrVeiran

kk

Sep 1st, 2023
778
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using iTextSharp.text.pdf;
  7. using iTextSharp.text.pdf.parser;
  8. using System.IO;
  9. using iTextSharp.text;
  10. using System.Globalization;
  11. using static System.Net.Mime.MediaTypeNames;
  12.  
  13. namespace ConsoleApp5
  14. {
  15.     internal class Program
  16.     {
  17.         static void Main(string[] args)
  18.         {
  19.  
  20.             string PathKeyword = "C:/ftp/keyword.txt";
  21.             string FilePath = @"C:/ftp/pdf/";
  22.             string SaveFilePath = "C://ftp/AllCheck.txt";
  23.             StringBuilder sb = new StringBuilder();
  24.             List<StringBuilder> ListAllFiles = new List<StringBuilder>();
  25.             List<string> ListForSave = new List<string>();
  26.  
  27.             string[] Keywords = File.ReadAllText(PathKeyword).Split(new string[] { "\r\n" }, StringSplitOptions.None);
  28.             string[] DocPaths = System.IO.Directory.GetFiles(FilePath, "*.pdf");
  29.  
  30.             string text = string.Empty;
  31.             //Создание списка всех PDF файлов
  32.             foreach (string DocPath in DocPaths)
  33.             {
  34.  
  35.                 using (PdfReader reader = new PdfReader(DocPath))
  36.                 {
  37.  
  38.                     for (int i = 1; i <= reader.NumberOfPages; i++)
  39.                     {
  40.                         text = string.Empty;
  41.                         ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
  42.                         text = PdfTextExtractor.GetTextFromPage(reader, i, strategy);
  43.                         text = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text)));
  44.                         sb.Append(text);
  45.                     }
  46.                 }
  47.  
  48.                 ListAllFiles.Add(sb);
  49.  
  50.                 sb.Clear();
  51.             }
  52.            
  53.            
  54.  
  55.             foreach (StringBuilder currentFile in ListAllFiles)
  56.             {
  57.  
  58.                 //ListForSave.Add(currentFile.ToString(20, 37));
  59.                 foreach (string keyword in Keywords)
  60.                 {
  61.                     if (currentFile.ToString().Contains(keyword))
  62.                     {
  63.                         int index = currentFile.ToString().IndexOf(keyword);
  64.  
  65.                         string read = currentFile.ToString(index + keyword.Length + 1, 13);
  66.  
  67.                         string[] words = read.Split('–');
  68.  
  69.                         var number1 = Convert.ToDecimal(words[0], new CultureInfo("en-US"));
  70.                         var number2 = Convert.ToDecimal(words[1], new CultureInfo("en-US"));
  71.                         var median = (number1 + number2) / 2;
  72.                         Console.WriteLine($"Ключевое слово {keyword} его котировки равна от {number1} до {number2}. Медиана равна {median}");
  73.                         ListForSave.Add($"Ключевое слово {keyword} его котировки равна от {number1} до {number2}. Медиана равна {median}");
  74.                     }
  75.  
  76.                 }
  77.  
  78.             }
  79.             if (File.Exists(SaveFilePath))
  80.             {
  81.                 File.Delete(SaveFilePath);
  82.             }
  83.  
  84.             foreach (string list in ListForSave)
  85.             {
  86.                 File.AppendAllText("C://ftp/AllCheck.txt", list + Environment.NewLine);
  87.             }
  88.             Console.WriteLine($"Файл с названием AllCheck.txt был создан в по пути C://ftp/AllCheck.txt");
  89.             Console.ReadLine();
  90.  
  91.  
  92.  
  93.         }
  94.     }
  95. }
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement