Como fã de código aberto (e automação), detesto dizer isso, mas os melhores resultados que obtive (em um PDF bastante amplo e complexo) foram abri-lo no Adobe Reader e escolher Arquivo | Salvar como texto.
(Estou pré-processando para experimentos de análise de texto, não como leitor, mas acho que minha primeira e segunda opção seriam as mesmas.)
Estive comparando a saída lado a lado. Minha segunda opção é ebook-convert.
Adobe : deixado no FF para quebras de página, deixado nos números de página, não converteu títulos / parágrafos em linhas únicas, mas corrigiu hífens. Lixo que estava oculto no PDF não foi gerado. Conseguiu corretamente as grandes maiúsculas no início das seções, por exemplo, "O", não "O" ou mesmo "O".
ebook-convert : esquerda em números de página e algum lixo oculto no cabeçalho / rodapé (mas sem FFs). Converte a maioria dos parágrafos em linhas únicas. Os que ele perdeu são espaçados duas vezes! Os marcadores nem sempre estão alinhados com o texto. Obteve corretamente "The" no início do capítulo.
pdftotext (sem --layout) : Não é ruim, os marcadores estão alinhados, mas o ruído do cabeçalho / rodapé. FFs estão lá. Hífens removidos. Pior para letras grandes no início do capítulo: "T \ n \ nhe".
pdftotext (com --layout) : Similar, mas com mais indentações. "O" para o início do capítulo.
pdftohtml >> pdfreflow >> htmltotext : removia os números das páginas, mas ainda era indesejável no cabeçalho / rodapé. "O" para o início do capítulo. Hífens removidos. (Ele usa várias linhas por parágrafo, mas elas não são as mesmas quebras de linha que nas outras versões!)