ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

python处理PDF文件,每页高清截图

python处理PDF文件,每页高清截图 目录1.环境2.编码1.环境python3.8.20PyMuPDF 1.24.11# 核心依赖包 pip install PyMuPDF(demo_env) C:\Users\asuspip list Package Version ---------------------------- ----------- absl-py 2.1.0 aiofiles 24.1.0 anyio 4.5.2 asttokens 3.0.0 astunparse 1.6.3 backcall 0.2.0 cachetools 5.5.0 certifi 2024.12.14 charset-normalizer 3.4.1 ci-info 0.3.0 click 8.1.8 colorama 0.4.6 configobj 5.0.9 configparser 7.1.0 decimer 2.7.1 decorator 5.1.1 efficientnet 1.1.1 etelemetry 0.3.1 exceptiongroup 1.2.2 executing 2.1.0 filelock 3.16.1 fitz 0.0.1.dev2 flatbuffers 24.12.23 frontend 0.0.3 gast 0.4.0 google-auth 2.37.0 google-auth-oauthlib 1.0.0 google-pasta 0.2.0 grpcio 1.69.0 h11 0.14.0 h5py 3.11.0 httplib2 0.22.0 idna 3.10 imageio 2.35.1 importlib_metadata 8.5.0 importlib_resources 6.4.5 ipython 8.12.3 isodate 0.6.1 itsdangerous 2.2.0 jedi 0.19.2 keras 2.13.1 Keras-Applications 1.0.8 lazy_loader 0.4 libclang 18.1.1 looseversion 1.3.0 lxml 5.3.0 Markdown 3.7 MarkupSafe 2.1.5 matplotlib-inline 0.1.7 networkx 3.1 nibabel 5.2.1 nipype 1.8.6 numpy 1.24.3 oauthlib 3.2.2 opencv-python 4.10.0.84 opt_einsum 3.4.0 packaging 24.2 pandas 2.0.3 parso 0.8.4 pathlib 1.0.1 pdf2image 1.17.0 pdfminer 20191125 pickleshare 0.7.5 pillow 10.4.0 pillow_heif 0.18.0 pip 24.2 plum-dispatch 1.7.4 poppler-utils 0.1.0 prompt_toolkit 3.0.48 protobuf 4.25.5 prov 2.0.1 pure_eval 0.2.3 pyasn1 0.6.1 pyasn1_modules 0.4.1 pycryptodome 3.21.0 pydot 3.0.4 Pygments 2.19.1 PyMuPDF 1.24.11 pyparsing 3.1.4 PyPDF2 3.0.1 pystow 0.5.6 python-dateutil 2.9.0.post0 pytz 2024.2 PyWavelets 1.4.1 pyxnat 1.6.2 PyYAML 6.0.2 rdflib 6.3.2 rdkit 2024.3.5 requests 2.32.3 requests-oauthlib 2.0.0 rsa 4.9 scikit-image 0.21.0 scipy 1.10.1 selfies 2.1.2 setuptools 75.1.0 simplejson 3.19.3 six 1.17.0 sniffio 1.3.1 Spire.Pdf 10.12.1 stack-data 0.6.3 starlette 0.44.0 tensorboard 2.13.0 tensorboard-data-server 0.7.2 tensorflow 2.13.0 tensorflow-estimator 2.13.0 tensorflow-intel 2.13.0 tensorflow-io-gcs-filesystem 0.31.0 termcolor 2.4.0 tifffile 2023.7.10 tqdm 4.67.1 traitlets 5.14.3 traits 6.3.2 typing_extensions 4.5.0 tzdata 2024.2 urllib3 2.2.3 uvicorn 0.33.0 wcwidth 0.2.13 Werkzeug 3.0.6 wheel 0.44.0 wrapt 1.17.0 zipp 3.20.2 (demo_env) C:\Users\asuspython -V Python 3.8.202.编码# 虚拟环境demo_env # 将pdf文件每页截图高清 # 按照第三方依赖包 pip install PyMuPDF # 属于GRB用于目标检测已调通 import re import time import fitz # PyMuPDF的导入方式 import os def process_pdf(pdf_path, output_folder, zoom_x2.0, zoom_y2.0, matNone): # 获取文件名 file_name pdf_path.split(/)[-1] # 移除后缀 file_name file_name.split(.)[0] # 文件名称只保留英文和数字 file_name re.sub(r[^a-zA-Z0-9], , file_name) try: if not os.path.exists(output_folder): os.makedirs(output_folder) with fitz.open(pdf_path) as doc: for pg in range(doc.page_count): page doc.load_page(pg) pix page.get_pixmap(matrixfitz.Matrix(zoom_x, zoom_y)) pix.pil_save(os.path.join(output_folder, f{file_name}page{pg1}.jpg)) except FileNotFoundError: print(fError: The file {pdf_path} does not exist.) except PermissionError: print(fError: Permission denied when accessing {pdf_path} or creating {output_folder}.) except Exception as e: print(fAn unexpected error occurred: {e}) # 调用 pdf_path ./data/5-2.pdf output_folder ./result/5-2 # 统计耗时 start_time time.time() process_pdf(pdf_path, output_folder) cost_time time.time() - start_time print(fProcessing time: {cost_time} seconds)
返回列表