Как получить текст файла PDF (iTextSharp) - C#

Узнай цену своей работы

Формулировка задачи:

using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
 
namespace PDFSharp
{
    public partial class PDFSharp : Form
    {
        public PDFSharp()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string txt = ExtractText(textBox1.Text);
            var temp1 = txt.IndexOf(textBox2.Text);
            var temp2 = txt.Substring(temp1, txt.Length - temp1);
            var temp3 = temp2.Split(' ');
 
            string tempINN = string.Empty;
            for (int i = 1; i <= temp3.Length; i++)
            {
                if (temp3[i] != "")
                {
                    tempINN = temp3[i];
                    break;
                }
            }
 
            char[] arr = tempINN.ToCharArray();
 
            string inn = string.Empty;
            char[] nums = new char[]{'0','1','2','3','4','5','6','7','8','9'};
            char[] ru_symbols = new char[]{'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я'};
            char[] en_symbols = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
 
            foreach (var ich in arr)
            {
                if (nums.Contains(ich))
                    inn += ich;
 
                //if (ru_symbols.Contains(ich))
                  //  inn += ich;
 
                //if (en_symbols.Contains(ich))
                  //  inn += ich;
            }
 
            MessageBox.Show(inn);
        }
 
        private string ExtractText(string pathToPdfFile)
        {
            System.IO.FileInfo fiPdf = new FileInfo(pathToPdfFile);
 
            if (fiPdf.Extension.ToLower() != ".pdf")
                return null;
 
            PdfReader reader = new PdfReader(pathToPdfFile);
 
            string txt = string.Empty;
            for (int countPdfPage = 1; countPdfPage <= reader.NumberOfPages; countPdfPage++)
            {
                txt += PdfTextExtractor.GetTextFromPage(reader, countPdfPage, new LocationTextExtractionStrategy());
            }
 
            return txt;
        }
    }
}
Код получает определенный текст с PDF Проблема состоит в том, что если ввести в форму к примеру Полное наименование(смотреть под спойлер текст), то выводит часть ответа или чушь наиполнейшую. Добавил foreach() для фикса при получении ИНН (численных ответов всм) Тогда как быть с string значениями?
ОГРН 1055907661578 ИНН 5957000039 Полное наименование ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "КУЕДА-ЛЕС" Сокращенное наименование ООО "КУЕДА-ЛЕС" Фирменное наименование ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "КУЕДА-ЛЕС" Наименование на иностранном языке ОПФ Общество с ограниченной ответственностью Сведения о состоянии юр.лица Действующее Дата формирования сведений из ЕГРЮЛ 16.06.2014 КПП юридического лица 595701001 Дата присвоения ОГРН 18.02.2005 Наименование классификатора по которому введены сведения об ОПФ: ОКОПФ, КОПФ ОКОПФ Код по выбранному классификатору 65
Заранее Спасибо

Решение задачи: «Как получить текст файла PDF (iTextSharp)»

textual
Листинг программы
inn = System.Convert.ToInt64(ttt);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы