Bajaj_Hackathon_Space / pdf_loader.py
Debajyoti2004's picture
faster
f76c26d
Raw
History Blame Contribute Delete
881 Bytes
import os
import pymupdf4llm
from langchain_core.documents import Document
from typing import List
class PDFLoader:
def __init__(self, file_path: str):
if not os.path.exists(file_path):
raise FileNotFoundError(f"The file {file_path} does not exist.")
self.file_path = file_path
def load(self) -> List[Document]:
documents = []
page_markdowns = pymupdf4llm.to_markdown(self.file_path, page_chunks=True)
for i, md_output in enumerate(page_markdowns):
content = str(md_output)
doc = Document(
page_content=content,
metadata={
"page": i + 1,
"source": self.file_path,
"source_file": os.path.basename(self.file_path),
}
)
documents.append(doc)
return documents