Tento článek představuje 2 nástroje pro převod dokumentů PDF na upravitelný text v systému Linux pomocí grafického nástroje (kalibr) a nástroje příkazového řádku (pdftotext).
Stojí za zmínku, že dva nástroje uvedené v tomto článku pro extrahování textu ze souborů PDF nemohou extrahovat text, pokud se PDF skládá z obrázků (např. naskenované stránky knihy / obrázky).
Převod PDF na text pomocí Calibre (GUI)
Calibre je bezplatný a open source softwarový balík pro elektronické knihy. Podporuje organizování, prohlížení, úpravy a konverzi elektronických knih a podporuje širokou škálu formátů. Aplikace běží na Linuxu, macOS a Microsoft Windows.
Calibre by měl být dostupný v repozitářích vaší distribuce Linuxu a měli byste být schopni jej nainstalovat pomocí jakéhokoli softwarového úložiště, které máte ve svém systému. Například pro instalaci na Debian, Ubuntu, Linux Mint, Fedora, openSUSE nebo Arch Linux použijte:
- Debian, Ubuntu nebo Linux Mint:
sudo apt install calibre
- Fedora:
sudo dnf install calibre
- openSUSE:
sudo zypper install calibre
- Arch Linux:
sudo pacman -S calibre
Calibre lze také nainstalovat na Linux pomocí balíčku Flathub (vyžaduje nastavení Flathub / Flatpak na některých distribucích Linuxu).
Existuje další způsob instalace Calibre na Linux, který je vysvětlen na stránce pro stažení aplikace, kde také najdete binární soubory pro macOS a Windows.
Související:Jak převést PDF na obrázek (PNG, JPEG) pomocí nástroje příkazového řádku GIMP nebo pdftoppm
Po instalaci Calibre do vašeho systému jej spusťte a klikněte na Add books
pro přidání PDF (nebo více PDF – Calibre podporuje dávkovou konverzi více souborů PDF na text), které chcete převést na text.
Ze seznamu knih vyberte PDF (nebo více souborů PDF pro hromadný převod do .txt), které chcete převést na text, a klikněte na Convert books
Knoflík. V pravém horním rohu okna převodu vyberte TXT As Output format
:
Existuje mnoho možností, které můžete vyladit v tomto dialogu převodu. Můžete například automaticky odstranit mezeru mezi odstavci nebo vložit mezi odstavce prázdný řádek (Look & Feel -> Layout
). Můžete také nastavit kódování znaků a styl zakončení řádků (System, Unix, Windows, old_mac) a dokonce jej naformátovat na Markdown.
Po dokončení konfigurace klikněte na OK
Tlačítko pro zahájení převodu souboru PDF na text. Převedený soubor .txt je v adresáři, kde jste zadali umístění knihovny Calibre (a poté v AuthorName/BookName
Podsložky; pokud nelze určit jméno autora nebo knihy, podsložka se nazývá „Neznámý“).
Co Calibre v tomto případě postrádá, je způsob, jak převést pouze stránku nebo rozsah stránek – v současnosti dokáže převést na text pouze celé soubory PDF.
Související s PDF:Jak vytvářet vyplnitelné formuláře PDF pomocí LibreOffice Writer
Převést PDF na text pomocí pdftotext (příkazový řádek)
pdftotext je nástroj příkazového řádku, který převádí soubory PDF na prostý text. Nabízí mnoho možností, včetně možnosti určit rozsah stránek, které se mají převést, zachovat co nejlépe původní fyzické rozvržení textu, nastavit zakončení řádků (Unix, DOS nebo Mac) a dokonce pracovat se soubory PDF chráněnými heslem.
pdftotext je součástí balíčku poppler / poppler-utils / poppler-tools (v závislosti na použité distribuci Linuxu). Nainstalujte tento balíček následovně:
- Debian, Ubuntu, Linux Mint a další distribuce Linuxu založené na Debianu/Ubuntu:
sudo apt install poppler-utils
- Fedora:
sudo dnf install poppler-utils
- openSUSE:
sudo zypper install poppler-tools
- Arch Linux:
sudo pacman -S poppler
V jiných distribucích Linuxu použijte k instalaci balíčku poppler / poppler-utils svého správce balíčků.
Nyní, když je balíček nainstalován, můžete Převést soubor PDF na prostý text a ponechat jeho rozložení stejné (Doporučuji použít tento -layout
Možnost zachovat původní fyzické rozvržení, ale můžete to zkusit bez) pomocí:
pdftotext -layout input.pdf output.txt
Musíte nahradit input.pdf
s názvem souboru PDF a output.txt
s názvem, kterým se má vygenerovaný TXT soubor volat. V případě potřeby přidejte před názvy souborů cesty (např. ~/Documents/mypdf.pdf
). Pokud není zadán žádný výstupní textový soubor, pdftotext pojmenuje soubor stejným názvem jako původní soubor PDF.
Možnost rozvržení zachová rozvržení PDF při převodu na text, a to i v případech PDF s více sloupci.
Co když chcete převést na text pouze rozsah stránek PDF namísto celého PDF? Použijte -f
(první stránka ke konverzi) a -l
(poslední stránka ke konverzi) následovaná číslem stránky takto:
pdftotext -layout -f M -l N input.pdf
Nahraďte M
a N
s číslem první a poslední stránky, která má být extrahována, a input.pdf
s názvem souboru PDF.
Chtěli byste použít znaky na konci řádku pro Mac, DOS nebo Unix? Můžete to udělat také s. uveďte -eol
následuje mac
, dos
nebo unix
. Např. pro Unixové zakončení řádků:
pdftotext -layout -eol unix input.pdf
Pokud mezi stránky nechcete vkládat konce stránek, přidejte -nopgbrk
:
pdftotext -layout nopgbrk input.pdf
Chcete dávkově převést všechny soubory PDF ve složce na textové soubory? pdftotext nepodporuje dávkový převod PDF na text (a pdftotext *.pdf
nefunguje), ale všechny soubory PDF ve složce můžete převést na textové soubory pomocí smyčky Bash FOR:
for file in *.pdf; do pdftotext -layout "$file"; done
Pro více možností spusťte man pdftotext
a pdftotext --help
.
Mohlo by se vám líbit toto:Stáhněte si Master PDF Editor 4 pro Linux (bezplatná verze)