Вам нужно будет применить какую-то логику к процессу извлечения в C #.
Документы PDF не предназначены для использования в качестве полезного метода хранения текста для последующего использования в другом программном обеспечении или ввода в другом формате. PDF, по своему замыслу, представляет собой представление печатной страницы и состоит из наборов инструкций, таких как Text of font A, size B at co-ordinate X,Y
Он не использует те же методы, что, например, Microsoft Word или HTML, где вы форматируете документ в сгруппированные абзацы или строки.
Фактически, когда вы копируете и вставляете программное обеспечение PDF, оно интерпретирует эти инструкции во что-то, что смутно копирует наши представления о структурах абзацев, и попытается выбрать их так, как вы ожидаете. Однако, как вы видели, это не всегда идеально и может легко пойти не так.
Боюсь, ответ на ваш вопрос заключается в том, что эта проблема не столько проблема с вашим примером, сколько проблема с использованием формата PDF для того, чего вы пытаетесь достичь. Он не предназначен для синтаксического анализа текста, хотя это, безусловно, может быть сделано, и iTextSharp, безусловно, будет иметь инструменты для вас, чтобы достичь этого, но вам, возможно, придется «симулировать» построчное чтение, чтобы сделать это.
Конечно, вы найдете несколько PDF-файлов, которые, кажется, были созданы идеально и не будут иметь проблем с копированием и вставкой из него. Помните, однако, что это скорее случай, когда программное обеспечение создает PDF-файл с использованием предсказуемой стратегии, а программное обеспечение читает PDF-файл с использованием предсказуемой стратегии, чтобы получить его обратно, а не идеальный способ сделать это.