[PYTHON] Konvertierung von pdf nach txt 1 [pdfminer]

Einführung

Ich musste 20 nicht kopierbare PDF-Dateien, die in Englisch geschrieben waren, wie folgt übersetzen Ich möchte den Text extrahieren und auf Google Übersetzung usw. anwenden.

1.PNG

Zweck

Extrahieren Sie Text aus einer PDF-Datei.

Was wurde verwendet

Diesmal wurde pdfminer verwendet. https://github.com/pdfminer/pdfminer.six

Ich habe auch auf die folgenden Artikel verwiesen. https://qiita.com/mczkzk/items/894110558fb890c930b5

Prozessablauf

1.Bitte geben Sie den PDF-Pfad ein: Geben Sie anschließend den Namen der PDF-Datei ein 2. Ändern Sie die Erweiterung des Eingabedateinamens in .txt und erstellen Sie eine Textdatei 3. Geben Sie das Ergebnis aus

Es ist eine einfache Operation wie.

Ergebnis

Das Ergebnis der vorherigen Angabe der PDF-Datei ist wie folgt.

2.PNG

Es wurde nur ein Pfeil ausgegeben. Seltsam, Geben Sie zum Überprüfen mit anderen PDF-Dateien das folgende mit Word erstellte PDF an.            3.PNG

Das Ergebnis ist wie folgt.                4.PNG

Der obige Pfeil wird ebenfalls ausgegeben, aber sowohl Englisch als auch Japanisch werden gut ausgegeben. Das Programm scheint keine Rolle zu spielen. Ich dachte, es sei ein Problem aufgrund des Schutzes von PDF, also habe ich versucht, den Schutz mit "Print to pdf" zu entfernen, aber Außerdem wurde nur ein Pfeil ausgegeben.

Erwägung

Da bestätigt wurde, dass pdfminer selbst gut funktioniert, liegt das Problem in der pdf-Datei. Ich denke, die Ursache ist, dass die Bildqualität schlecht ist, wahrscheinlich weil die Ziel-PDF-Datei gescannt wurde.

Programm

pdfminer ist so praktisch, dass es ein sehr kurzes Programm ist.

pdf2text.py


from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

input_path = input("Please input pdf path : ")
output_path,ext = input_path.split(".")
output_path += ".txt"

manager = PDFResourceManager()

with open(output_path, "wb") as output:
    with open(input_path, 'rb') as input:
        with TextConverter(manager, output, codec='utf-8', laparams=LAParams()) as conv:
            interpreter = PDFPageInterpreter(manager, conv)
            for page in PDFPage.get_pages(input):
                interpreter.process_page(page)

Recommended Posts

Konvertierung von pdf nach txt 1 [pdfminer]
Konvertierung von pdf nach txt 2 [pyocr]
Wählen Sie PDFMiner, um Textinformationen aus PDF zu extrahieren
Konvertieren Sie mit pdfplumber von PDF in CSV
Einfache Konvertierung von UTC in Ortszeit
Extrahieren Sie japanischen Text aus PDF mit PDFMiner
Summe von 1 bis 10
Mit matplotlib erstellte Bilder werden von dvi nach pdf verschoben
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Übergang von WSL1 zu WSL2
[Python] Konvertierung von WGS84 in ein ebenes orthogonales Koordinatensystem
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
So (erzwingen) Sie die Folien eines IPython-Notizbuchs als PDF
Von der Bearbeitung bis zur Ausführung
Automatische Konvertierung von der MySQL Workbench-MWB-Datei in eine SQL-Datei
Post von Python nach Slack
Flirte von PHP nach Python
Portierung von Argparse zu Hydra
Übergang von Chainer v1 zu Chainer v2
OCR aus PDF in Python
Seitenzahl zu PDF hinzufügen
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Von Flask-RESTPlus nach Flask-RESTX migriert
Aktualisieren Sie python-social-auth von 0.1.x auf 0.2.x.
Migrieren Sie von require.txt zu pipenv
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien