Sådan udtrækkes tekst fra en PDF-fil på Linux uden OCR: En guide til kommandolinjeværktøjer og scripts

Hvordan udtrækkes tekst fra en .pdf-fil på Linux, hvor teksten er rigtig tekst og ikke et scannet billede, ved hjælp af kommandolinjen eller et script uden at bruge OCR?

For at udtrække tekst fra en PDF-fil på Linux uden at bruge OCR, kan du bruge værktøjer som pdftotext, pdfgrep, pdftohtml eller et Python-script med PyPDF2.

Sådan udtrækkes tekst fra en .pdf-fil på Linux ved hjælp af kommandolinjen eller et script uden at bruge OCR

Hvis du har en PDF-fil, hvor teksten er rigtig tekst og ikke et scannet billede, kan du udtrække teksten ved hjælp af forskellige værktøjer på Linux. Her er nogle metoder:

1. Brug af pdftotext

pdftotext er et populært værktøj til at udtrække tekst fra PDF-filer. Det er en del af poppler-utils pakken.

sudo apt-get install poppler-utils

For at udtrække tekst fra en PDF-fil:

pdftotext input.pdf output.txt

Dette vil gemme teksten fra input.pdf i output.txt.

2. Brug af pdfgrep

pdfgrep er et andet nyttigt værktøj, som kan bruges til at søge efter tekst i PDF-filer og udtrække den.

sudo apt-get install pdfgrep

For at udtrække tekst, der matcher et bestemt mønster:

pdfgrep 'søgetekst' input.pdf > output.txt

3. Brug af pdftohtml

pdftohtml konverterer PDF-filer til HTML, hvilket kan gøre det lettere at udtrække tekst.

sudo apt-get install poppler-utils

For at konvertere en PDF-fil til HTML:

pdftohtml -stdout input.pdf > output.html

Derefter kan du bruge værktøjer som lynx eller w3m til at udtrække tekst fra HTML-filen.

4. Brug af Python og PyPDF2

Hvis du foretrækker at bruge et script, kan du bruge Python og biblioteket PyPDF2 til at udtrække tekst.

pip install PyPDF2

Eksempel på et Python-script:

import PyPDF2

def extract_text(pdf_path):
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfFileReader(file)
        text = ''
        for page_num in range(reader.numPages):
            page = reader.getPage(page_num)
            text += page.extract_text()
        return text

pdf_path = 'input.pdf'
text = extract_text(pdf_path)
with open('output.txt', 'w') as output_file:
    output_file.write(text)

Dette script åbner PDF-filen, læser hver side og udtrækker teksten, som derefter gemmes i en tekstfil.

Disse metoder giver dig fleksibilitet til at vælge den løsning, der passer bedst til dine behov for at udtrække tekst fra PDF-filer på Linux uden at bruge OCR.