In primo luogo, dovete 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 l'esatta posizione dei caratteri (singole lettere o punteggiatura, ecc.) o delle immagini. Nella maggior parte dei casi, un PDF non memorizza nemmeno informazioni su dove finisce una parola e dove ne inizia un'altra, tanto meno cose come le pause morbide contro le pause dure per i finali dei paragrafi.
(Alcuni PDF recenti memorizzano alcune informazioni su questa roba, ma questa è una nuova tecnologia, e saresti fortunato a trovare PDF come questo. Anche se lo faceste, il vostro visualizzatore di PDF potrebbe non saperlo.)
In ogni caso, spetta al vostro software implementare una sorta di “intelligenza artificiale” per estrarre semplicemente dalla posizione dei singoli caratteri ciò che è una parola, ciò che è un paragrafo e così via. Software diversi lo faranno meglio di altri, e dipenderà anche da come è stato realizzato il PDF. In ogni caso, non ci si deve aspettare risultati perfetti. Avere il PDF in uscita non è la stessa cosa che avere il documento di origine. Molto meglio cercare di ottenerlo se si può.
La soluzione standard al vostro tipo di problema è usare Adobe Acrobat Professional (quello costoso, non il lettore gratuito) per convertire il PDF in HTML. Anche così non si otterranno risultati perfetti.
Esiste un software gratuito che può essere utilizzato per estrarre testo dai PDF con una parte di formattazione intatta, ma anche in questo caso non aspettatevi risultati perfetti. Vedi, ad esempio, calibre (che può convertire in formato RTF), pdftohtml/pdfreflow o il AbiWord word processor (con tutti i plugin di importazione/esportazione abilitati). C'è anche un plugin di importazione PDF per OpenOffice.
Ma non aspettatevi la perfezione con nessuno di questi risultati. State andando controcorrente. Il PDF non è inteso come formato di input modificabile.