Merge pull request #17 from tssujt/pdf

Replace PyMuPDF with pypdf for PDF handling
This commit is contained in:
hyugogirubato
2025-06-27 21:59:42 +02:00
committed by GitHub
2 changed files with 7 additions and 10 deletions
+5 -8
View File
@@ -8,7 +8,7 @@ from io import BytesIO
from typing import Union
from pathlib import Path
import fitz
from pypdf import PdfReader
import xmltodict
from cbz.constants import XML_NAME, COMIC_FIELDS, IMAGE_FORMAT, PAGE_FIELDS
@@ -98,13 +98,10 @@ class ComicInfo(ComicModel):
ComicInfo: An instance of ComicInfo.
"""
pages: list[PageInfo] = []
with fitz.open(path) as pf:
for element in pf:
# Check if the page has images
images = element.get_images(full=True)
for i, image in enumerate(images):
base = pf.extract_image(image[0])
pages.append(PageInfo.loads(data=base['image']))
reader = PdfReader(path)
for page in reader.pages:
for image in page.images:
pages.append(PageInfo.loads(data=image.data))
assert pages, 'No valid images present in file'
return ComicInfo.from_pages(pages=pages)
+2 -2
View File
@@ -34,7 +34,7 @@ python = ">=3.8"
xmltodict = ">=0.13.0"
langcodes = ">=3.4.0"
Pillow = ">=10.4.0"
PyMuPDF = ">=1.24.7"
pypdf = ">=5.6.1"
[tool.poetry.scripts]
cbzplayer = "cbz.__main__:main"
@@ -45,4 +45,4 @@ url = "https://pypi.org/simple/"
priority = "primary"
[certificates]
localpypi = { cert = false }
localpypi = { cert = false }