Files
Aislo/resources/tester/scratch/inspect_common_tables_in_pdf.py
T

39 lines
1.3 KiB
Python

import pypdf, sys, os
sys.stdout.reconfigure(encoding='utf-8')
reader = pypdf.PdfReader('resources/knowledge/original/원가계산/건설공사_표준품셈/2026년_건설공사_표준품셈.pdf')
targets = [
("2-8-7", "철골 안전망"),
("2-8-10", "수직형 추락방망"),
("2-11-5", "비산먼지"),
("2-11-7", "슬러지 제거"),
("4-4-4", "야자섬유매트"),
("5-1-3", "버팀보"),
("5-1-8", "복공판"),
("7-4-2", "앵커 긴결"),
("슬립폼", "설치 및 해체"),
("지수판", "소켓 연결"),
("정착구 설치", "쉬즈관"),
]
for sec, kw in targets:
found = False
for idx, page in enumerate(reader.pages[:300]): # common part is in first 300 pages
txt = page.extract_text()
if sec in txt or (kw in txt and ("품" in txt or "공" in txt)):
print(f"=== Found '{sec}' on PDF page index {idx} ===")
# print surrounding lines
lines = txt.split('\n')
for l_idx, l in enumerate(lines):
if sec in l or kw in l:
start = max(0, l_idx - 3)
end = min(len(lines), l_idx + 15)
print("\n".join(lines[start:end]))
print("-" * 50)
found = True
break
if found:
break