GNU/Linux >> Znalost Linux >  >> Debian

Jak převést PDF na text v systému Linux (GUI a příkazový řádek)

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)


Debian
  1. Jak převést více obrázků do PDF v Ubuntu Linux

  2. Jak napsat text na obrázek pomocí příkazu Linux

  3. Jak restartovat Linux pomocí příkazového řádku

  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Jak vypnout nebo restartovat Linux pomocí příkazového řádku

  3. Jak převedu dokument DjVu do PDF v Linuxu pouze pomocí nástrojů příkazového řádku?

  1. Jak zkontrolovat verzi jádra v Linuxu v příkazovém řádku

  2. Jak používat Nano, textový editor příkazového řádku Linuxu

  3. Jak převést PDF do JPG pomocí příkazového řádku v Linuxu?