pdfplumber

import pdfplumber
import pandas as pd

pdf = pdfplumber.open("gaiyo2.pdf")

page = pdf.pages[6]

# cropで範囲指定
crop = page.within_bbox((0, 120, page.width, 700))

table_settings = {
    # 垂直基準
    "vertical_strategy": "lines",
    # 水平基準
    "horizontal_strategy": "text",
    # テキストの左端と右端が垂直線と完全に一致していない場合の許容値
    "intersection_tolerance": 10,
}

table = page.extract_table(table_settings)

df = pd.DataFrame(table)

df.to_csv("data.csv", encoding="utf_8_sig")