PDF извлечение текста является сложным.
Если текст выводился как одна большая строка, разделенная пробелами, такими как: -
PDFTextOut(" Column 1 Column 2 Column 3");
, и вы используете шрифт фиксированной ширины, такой как Courier, то вы можете теоретически рассчитать числопробелы между элементами текста, потому что каждый символ имеет одинаковую ширину.Если шрифт пропорционален такому Arial, тогда вычисление будет сложнее.
На самом деле большинство PDF-файлов генерируется путем индивидуального размещения каждого фрагмента текста непосредственно в его позиции.Следовательно, технически нет пробела или каких-либо других символов между столбцами.Текст просто помещается в абсолютную позицию на странице.
PDFMoveTo(100,100);
PDFTextOut("Column 1");
PDFMoveTo(250,100);
PDFTextOut("Column 2");
Чтобы выполнить извлечение данных в документах PDF, вам нужно проделать еще немного работы, чтобы найти и сопоставить данные столбца, используя местоположения в пикселях, как вы упоминали, и делая некоторые предположения и имея немногонемного удачи.