Esiste un convertitore da PDF a testo migliore di pdftotext?


63

Sto usando pdftotext (parte di poppler-utils) per convertire documenti PDF in testo. Funziona, per la maggior parte, ma una cosa che vorrei che fosse fare era inserire righe vuote tra paragrafi separati invece di unirle.

C'è un modo per ottenere pdftotext per fare questo? E se no, c'è un'altra utility da pdf a text che può fare questo?


8
Nel titolo dici "pdftotext" (che fa parte di poppler-utils) e nel corpo dici "pdt2text" (che non conosco). A quale ti riferisci?
enzotib,

domanda simile PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
JinSnow

Risposte:


25

Potresti provare ebook-convertda Calibre.

Semmai direi che sbaglia nella direzione opposta: troppe interruzioni di linea.

Un'altra cosa che prenderei sicuramente in considerazione è la conversione in HTML tramite pdfreflow , quindi la conversione da HTML a TXT.


Nota: ebook-convertimpossibile convertire il layout a più colonne, unisce le colonne in una colonna. Per il layout multi-colonna pdftotextproduce un output molto migliore. Ulteriori limitazioni sono descritte su manual.calibre-ebook.com/conversion.html#convert-pdf-documents .
asmaier

117

Se stai usando pdftotext puoi usare il -layoutflag per conservare il layout del testo nelle pagine del tuo file pdf di input:

pdftotext -layout input.pdf output.txt

6
C'è anche -table per i layout di tabella in particolare, funziona alla grande.
P.Windridge,

3
@ P.Windridge, dov'è questa opzione per la tabella? Non riesco a trovarlo sulla versione 0.48.0 da poppler-utils in Ubuntu 17.04
gozzilli,

2
@gozzilli Questo è così vecchio. L'ultimo pdftotext è v4.00, disponibile nel tarball degli strumenti Xpdf qui .
Adrian,

2
@gozzilli Le versioni che iniziano con 0. indicano che è il ramo Popplers del codice originale di Xpdf. Hanno iniziato i loro numeri di versione quando hanno ramificato il codice. Ora entrambi i gruppi sembrano mantenere versioni separate di questi strumenti PDF.
Andrew,

1
@VivekSable questi sono punti (pixel) al valore specificato -r(risoluzione, default 72 dpi)
vstepaniuk

14

Come fan dell'open source (e dell'automazione) odio dirlo, ma i migliori risultati che ho appena ottenuto (su un PDF abbastanza grande e complesso) sono stati aprirlo in Adobe Reader, quindi scegliere File | Salva come testo.

(Sto preelaborando esperimenti di analisi del testo, non come lettore, ma penso che la mia prima e seconda scelta sarebbero le stesse.)

Ho confrontato l'output fianco a fianco. La mia seconda scelta è ebook-convert.

Adobe : lasciato in FF per le interruzioni di pagina, lasciato nei numeri di pagina, non ha convertito intestazioni / paragrafi in righe singole, ma ha trattini fissi. La posta indesiderata nascosta nel PDF non ha ottenuto l'output. Ha ottenuto correttamente le grandi capitali all'inizio delle sezioni, ad esempio "The", non "T he" o addirittura "T he".

ebook-convert : lasciato nei numeri di pagina e alcuni elementi nascosti nascosti nell'intestazione / piè di pagina (ma senza FF). Converte la maggior parte dei paragrafi in linee singole. Quelli che ha mancato sono a doppia distanza! I punti elenco non si allineano sempre al testo. Correttamente ottenuto "The" all'inizio del capitolo.

pdftotext (senza --layout) : non male, i proiettili si allineano, ma il rumore dell'intestazione / piè di pagina. Gli FF sono lì dentro. Trattini rimossi. Peggio per l'inizio del capitolo grandi lettere: "T \ n \ nhe".

pdftotext (con --layout) : simile, ma più rientri. "T he" per l'inizio del capitolo.

pdftohtml >> pdfreflow >> htmltotext : ha rimosso i numeri di pagina, ma è ancora spazzatura nell'intestazione / piè di pagina. "T he" per l'inizio del capitolo. Trattini rimossi. (Utilizza più righe per paragrafo, ma non sono le stesse interruzioni di riga delle altre versioni!)


Nel mio caso Acrobat Reader 9 su Linux ha generato parole schiacciate. ebook-convertha funzionato bene.
ov7a,

Abbiamo davvero bisogno di un'app AI per questo, sembra perfetto per quel tipo di compito: qualcuno lo conosce?
JinSnow

1
Adobe Reader è gratuito, ma ... solo per leggere pdf. Per altre cose devi pagare (abbonamento mensile). (Da PDF a testo è limitato a poche pagine). Pdfto text (o xpdf on win) è perfetto per le mie esigenze.
JinSnow,

Per i dati tabulari, ora è meglio usare l'opzione -table "pdftotext -table nome_file.pdf nome_output.txt"
Thom Ives,

5

Se disponi di un account Google, puoi utilizzare Google Documenti per caricare il PDF e trasformarlo in testo modificabile.


1

Ho anche provato pypdf e l'ho confrontato con pdftotext su due documenti. Aveva più interruzioni di riga e divise alcuni nomi di sezione (REFERENCES era REFERENCES).

pdf2txt ha prodotto la spazzatura completa.

Uso spesso pdfBox (java) se pdftotext rovina l'output. Potresti provarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.