J'ai dû traduire 20 fichiers pdf non copiables écrits en anglais comme ci-dessous, donc Je souhaite extraire le texte et l'appliquer à la traduction Google, etc.
Extrayez le texte d'un fichier pdf.
Cette fois, pdfminer a été utilisé. https://github.com/pdfminer/pdfminer.six
J'ai également évoqué les articles suivants. https://qiita.com/mczkzk/items/894110558fb890c930b5
1.Veuillez saisir le chemin du pdf: après, entrez le nom du fichier pdf 2. Modifiez l'extension du nom du fichier d'entrée en .txt et créez un fichier texte 3. Envoyez-y le résultat
C'est une opération simple telle que.
Le résultat de la spécification du fichier pdf plus tôt est le suivant.
Une seule flèche a été sortie. Étrange, Pour vérifier avec d'autres fichiers pdf, spécifiez le pdf suivant créé avec word.
Le résultat est le suivant.
De plus, la flèche ci-dessus est sortie, mais l'anglais et le japonais sont bien sortis. Le programme ne semble pas avoir d'importance. Je pensais que c'était un problème dû à la protection du pdf, alors j'ai essayé de supprimer la protection avec "Imprimer en pdf", mais De plus, une seule flèche a été sortie.
Puisqu'il a été confirmé que pdfminer lui-même fonctionne bien, le problème est considéré comme étant dans le fichier pdf. Je pense que la cause est que la qualité de l'image est mauvaise, probablement parce que le fichier PDF cible a été numérisé.
pdfminer est si pratique qu'il s'agit d'un programme très court.
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