Подходит для большинства распространенных PDF-файлов, в которых используются шрифты большего размера.
ользую iText (для .net) для чтения PDF-файлов. Он читает документ, но когда есть пробелы, он читает только один пробел.
Это делает невозможным извлечение данных путем получения подстрок. Я хочу читать данные построчно с пробелами, чтобы знать фактическую позицию текста, потому что я хочу записать данные в базу данных.
Этот файл является банковской выпиской, я хочу поместить его в базу данных для разработки согласованной системы,
Вот снимок экрана файла
Ниже приведен код, который я использую
For page As Integer = 1 To pdfReader.NumberOfPages
' Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim Strategy As ITextExtractionStrategy = New iTextSharp.text.pdf.parser.LocationTextExtractionStrategy()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.[Default], Encoding.UTF8, Encoding.[Default].GetBytes(currentText)))
Dim delimiterChars As Char() = {ControlChars.Lf}
Dim lines As String() = currentText.Split(delimiterChars)
Dim Bnk_Name As Boolean = True
Dim Br_Name As Boolean = False
Dim Name_acc As Boolean = False
Dim statment As Boolean = False
Dim Curr As Boolean = False
Dim Open As Boolean = False
Dim BankName = ""
Dim Branch = ""
Dim AccountNo = ""
Dim CompName = ""
Dim Currency = ""
Dim Statement_from = ""
Dim Statement_to = ""
Dim Opening_Balance = ""
Dim Closing_Balance = ""
Dim Narration As String = ""
For Each line As String In lines
line.Trim()
'BANK NAME
If Bnk_Name Then
If line.Trim() <> "" Then
BankName = line.Substring(0, 21)
Bnk_Name = False
Else
Bnk_Name = False
End If
End If
но я хочу как пробелы читать положение