diff --git a/modules/chat.py b/modules/chat.py index 42c0d46d..9ef8f5e9 100644 --- a/modules/chat.py +++ b/modules/chat.py @@ -657,15 +657,13 @@ def add_message_attachment(history, row_idx, file_path, is_user=True): def extract_pdf_text(pdf_path): """Extract text from a PDF file""" - import PyPDF2 + import pymupdf text = "" try: - with open(pdf_path, 'rb') as file: - pdf_reader = PyPDF2.PdfReader(file) - for page_num in range(len(pdf_reader.pages)): - page = pdf_reader.pages[page_num] - text += page.extract_text() + "\n\n" + with pymupdf.open(pdf_path) as doc: + for page in doc: + text += page.get_text() + "\n\n" return text.strip() except Exception as e: diff --git a/requirements/full/requirements.txt b/requirements/full/requirements.txt index 3a44aff6..08568085 100644 --- a/requirements/full/requirements.txt +++ b/requirements/full/requirements.txt @@ -17,7 +17,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/full/requirements_amd.txt b/requirements/full/requirements_amd.txt index 3dc6744d..a5c7b1b3 100644 --- a/requirements/full/requirements_amd.txt +++ b/requirements/full/requirements_amd.txt @@ -15,7 +15,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/full/requirements_apple_intel.txt b/requirements/full/requirements_apple_intel.txt index ab89eb57..b91ef833 100644 --- a/requirements/full/requirements_apple_intel.txt +++ b/requirements/full/requirements_apple_intel.txt @@ -15,7 +15,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/full/requirements_apple_silicon.txt b/requirements/full/requirements_apple_silicon.txt index f5263043..b9c19714 100644 --- a/requirements/full/requirements_apple_silicon.txt +++ b/requirements/full/requirements_apple_silicon.txt @@ -15,7 +15,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/full/requirements_cpu_only.txt b/requirements/full/requirements_cpu_only.txt index d2d0aaa0..1421ad5f 100644 --- a/requirements/full/requirements_cpu_only.txt +++ b/requirements/full/requirements_cpu_only.txt @@ -15,7 +15,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/full/requirements_nowheels.txt b/requirements/full/requirements_nowheels.txt index 4ee86c2c..cf8c0ecb 100644 --- a/requirements/full/requirements_nowheels.txt +++ b/requirements/full/requirements_nowheels.txt @@ -15,7 +15,7 @@ peft==0.18.* Pillow>=9.5.0 psutil pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements.txt b/requirements/portable/requirements.txt index 088a0a7b..1dc6abe3 100644 --- a/requirements/portable/requirements.txt +++ b/requirements/portable/requirements.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_amd.txt b/requirements/portable/requirements_amd.txt index a071ac17..09befbcc 100644 --- a/requirements/portable/requirements_amd.txt +++ b/requirements/portable/requirements_amd.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_apple_intel.txt b/requirements/portable/requirements_apple_intel.txt index 82c10e07..e794a693 100644 --- a/requirements/portable/requirements_apple_intel.txt +++ b/requirements/portable/requirements_apple_intel.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_apple_silicon.txt b/requirements/portable/requirements_apple_silicon.txt index 389e1001..48eadd47 100644 --- a/requirements/portable/requirements_apple_silicon.txt +++ b/requirements/portable/requirements_apple_silicon.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_cpu_only.txt b/requirements/portable/requirements_cpu_only.txt index ec1a896d..93b820fc 100644 --- a/requirements/portable/requirements_cpu_only.txt +++ b/requirements/portable/requirements_cpu_only.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_cuda131.txt b/requirements/portable/requirements_cuda131.txt index 70d032cc..6e2d05fd 100644 --- a/requirements/portable/requirements_cuda131.txt +++ b/requirements/portable/requirements_cuda131.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_nowheels.txt b/requirements/portable/requirements_nowheels.txt index 58439cad..e6a9a0a4 100644 --- a/requirements/portable/requirements_nowheels.txt +++ b/requirements/portable/requirements_nowheels.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests diff --git a/requirements/portable/requirements_vulkan.txt b/requirements/portable/requirements_vulkan.txt index 78ec78b9..149bc829 100644 --- a/requirements/portable/requirements_vulkan.txt +++ b/requirements/portable/requirements_vulkan.txt @@ -6,7 +6,7 @@ jinja2==3.1.6 markdown numpy==2.2.* pydantic==2.11.0 -PyPDF2==3.0.1 +pymupdf==1.27.1 python-docx==1.1.2 pyyaml requests