import fitz, sys sys.stdout.reconfigure(encoding='utf-8') doc = fitz.open('resources/knowledge/original/원가계산/건설공사_표준품셈/2026년_건설공사_표준품셈.pdf') query = sys.argv[1] if len(sys.argv) > 1 else '4-3-1' print(f"Searching for '{query}' in PDF...") found = [] for page_num in range(len(doc)): text = doc[page_num].get_text() if query in text: found.append(page_num) print(f"--- Page {page_num + 1} ---") lines = [l for l in text.split('\n') if l.strip()] for idx, l in enumerate(lines): if query in l: start = max(0, idx - 5) end = min(len(lines), idx + 25) for j in range(start, end): print(f" {lines[j]}") break if len(found) >= 3: break