PythonのpyocrでPDFの特定の位置から文字列を読み取って、そのファイル名を変更する
前提
PDFファイルが「pdf」ディレクトリに保存されている。
読み取る文字列は英数字である。
読み取る文字列はPDFの1ページ目に書かれている。
import pdf2image import pyocr import pyocr.builders import glob import os import pprint for file in glob.glob('pdf/*'): # PDFを画像に変換する(ページごとの画像のリストが得られる) img_list = pdf2image.convert_from_path(file) # PDFの1ページ目の画像 img = img_list[0] # 読み取る文字列が書かれている部分を切り出す img_crop = img.crop((100, 100, 200, 150)) # 文字列を読み取る tools = pyocr.get_available_tools() tool = tools[0] builder = pyocr.builders.TextBuilder() result = tool.image_to_string(img, builder=builder) pprint.pprint(result) # ファイル名を変更する file_name = 'pdf/' + result + '.pdf' os.rename(file, file_name)