forked from mirrors/cbz
Replace PyMuPDF with pypdf for PDF handling
This commit is contained in:
+5
-8
@@ -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)
|
||||
|
||||
+1
-1
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user