it-swarm.dev

Existuje lepší převodník textu na text než pdftotext?

Používám pdftotext (část poppler-utils) k převodu PDF dokumentů do textu. Funguje to z větší části, ale jedna věc, kterou bych si přál, bylo vložit prázdné řádky mezi samostatné odstavce namísto jejich rozdmýchávání.

Existuje způsob, jak to udělat pdftotext? A pokud ne, existuje další nástroj pro převod textu na text, který to dokáže?

66
dan

Můžete zkusit ebook-convert od Caliber.

Kdyby něco, řekl bych, že se mýlí opačným směrem: příliš mnoho zlomů řádků.

Další věc, kterou bych určitě zvážil, je převod do HTML pomocí pdfreflow , a pak převedení HTML na TXT.

26
frabjous

Pokud používáte pdftotext , můžete pomocí příznaku -layout Zachovat rozložení textu na stránkách ve vstupním souboru PDF:

pdftotext -layout input.pdf output.txt
121
Noah

Jako fanoušek otevřeného zdroje (a automatizace) nerad to říkám, ale nejlepší výsledky, které jsem právě dostal (na poměrně velkém komplexním PDF), byly otevřít v Adobe Reader, pak zvolit Soubor | Uložit jako text.

(Předběžně zpracovávám experimenty s textovou analýzou, ne jako čtenář, ale myslím, že moje první a druhá volba by byla stejná.)

Srovnával jsem výstup bok po boku. Moje druhá volba je převod ebooků.

Adobe: ponecháno v FF pro konce stránek, ponecháno v číslech stránek, nepřevedlo nadpisy/odstavce na jednotlivé řádky, ale má pevné spojovníky. Nevyžádaná pošta, která byla skryta v PDF nedostala výstup.) Správně dostala velká města na začátku sekcí, např. „The“, nikoli „T he“ nebo dokonce „T he“.

ebook-convert: Zůstal v číslech stránek a nějaký skrytý haraburdí v záhlaví/zápatí (ale bez FF). Převede většinu odstavců na jednoduché řádky. Ty, které zmeškal, jsou však dvojnásobné! Kulky nejsou vždy v souladu s textem. Správně dostal na začátku kapitoly „The“.

pdftotext (bez --layout): Není to špatné, odrážky se zarovná, ale hluk hlavičky/zápatí. FFs tam jsou. Pomlčky byly odstraněny. Nejhorší pro začátek kapitoly velká písmena: "T\n\nhe".

pdftotext (s --layout): Podobné, ale více odrážky. "T he" pro začátek kapitoly.

pdftohtml >> pdfreflow >> htmltotext: Odstranil čísla stránek, ale stále byl v záhlaví/zápatí nevyžádaný. "T he" pro začátek kapitoly. Pomlčky byly odstraněny. (Používá více řádků na odstavec, přesto se nejedná o stejné konce řádků jako v jiných verzích!)

14
Darren Cook

Pokud máte účet Google, můžete pomocí Dokumentů Google nahrát soubor PDF) a převést jej na upravitelný text.

5
xangua

Také jsem vyzkoušel pypdf a porovnal jsem ho s pdftotext na dvou dokumentech. Měl více zlomů řádků a rozdělil některé názvy oddílů (REFERENCE byl REFENCES REFERENCES).

pdf2txt se výstup kompletní odpadky.

Často používám pdfBox (Java), pokud pdftotext vyšroubuje výstup. Můžete to zkusit.

1
Max