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

25 lines
832 B
Python

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