Você precisará aplicar algum tipo de lógica ao seu processo de extração em C #.
Os documentos PDF não são projetados para ser um método útil de armazenamento de texto para ser usado em outro software ou para entrada em outro formato. PDF, por design, é uma representação de uma página impressa e consiste em conjuntos de instruções, como Text of font A, size B at co-ordinate X,Y
. Ele não usa os mesmos métodos como, por exemplo, o Microsoft Word ou HTML, onde você formata o documento em parágrafos ou linhas agrupados.
Efetivamente, quando você copia e cola o software PDF, ele interpreta essas instruções em algo que vagamente confunde nossas ideias de estruturas de parágrafos e tentará selecioná-las da maneira esperada. No entanto, como você viu, isso nem sempre é perfeito e pode facilmente dar errado.
Receio que a resposta à sua pergunta seja que esse problema não é tanto um problema com o seu exemplo, mas um problema com o uso do formato PDF para o que você está tentando alcançar . Ele não é projetado para análise de texto, embora certamente possa ser feito, e o iTextSharp certamente terá ferramentas para você conseguir isso, mas você pode ter que 'simular' a leitura linha-a-linha para fazê-lo.
Naturalmente, você encontrará alguns PDFs que parecem ter sido criados perfeitamente e não terão problemas com copiar e colar a partir dele. Lembre-se, porém, isso é mais um caso do software criando o PDF usando uma estratégia previsível para fazer isso, e o software lendo o PDF usando uma estratégia previsível para recuperá-lo , em vez de haver um método perfeito de fazer isso.