Innanzitutto, devi capire cos'è un PDF. I PDF sono progettati per imitare una pagina stampata e sono progettati solo come formato di output, non come formato di input. un PDF è fondamentalmente una mappa contenente la posizione esatta di caratteri (singole lettere o punteggiatura, ecc.) o immagini. Nella maggior parte dei casi , un PDF non memorizza nemmeno informazioni su dove finisce una parola e ne inizia un'altra, tanto meno cose come le interruzioni automatiche rispetto alle interruzioni improvvise per le terminazioni di paragrafo.
(Alcuni PDF recenti memorizzano alcune informazioni su questa roba, ma questa è una nuova tecnologia e saresti fortunato a trovare PDF del genere. Anche se lo facessi, il tuo visualizzatore di PDF potrebbe non saperlo.)
Ad ogni modo, spetta al tuo software implementare una sorta di "intelligenza artificiale" per estrarre semplicemente dalle posizioni dei singoli personaggi cosa è una parola, cosa è un paragrafo e così via. Diversi software lo faranno meglio di altri e dipenderà anche da come è stato realizzato il PDF. In ogni caso, non dovresti mai aspettarti risultati perfetti. Avere il PDF di output non è lo stesso del documento di origine. Molto meglio provare a ottenerlo se puoi.
La soluzione standard al tuo tipo di problema è utilizzare Adobe Acrobat Professional (il costoso, non il lettore gratuito) per convertire i PDF in HTML. Anche quello non otterrà risultati perfetti.
Esiste un software gratuito che può essere utilizzato per estrarre il testo dai PDF con alcune formattazioni intatte, ma ancora una volta non aspettarti risultati perfetti. Vedi, ad esempio, calibre (che può essere convertito in formato RTF), pdftohtml / pdfreflow o il word processor AbiWord (con tutti i plugin di importazione / esportazione abilitati). C'è anche un plug-in di importazione PDF per OpenOffice.
Ma per favore non aspettarti la perfezione con nessuno di questi risultati. Stai andando contro il grano qui. Il PDF non è un formato di input modificabile.