PDF文件转换为图片

现在确实有很多线上的工具可以把pdf文件转为图片,比如smallpdf等等,都很好用。但我们有时会碰到一些敏感数据,或者要批量去转,那么需要自己写脚本来实现,以下脚本可以提供这个功能~

py 复制代码
def pdf2img(pdf_dir, result_path):
    if not os.path.exists(result_path):
        os.makedirs(result_path, exist_ok=True)
    pdf_path_list = glob.glob(os.path.join(pdf_dir, "*.pdf"))
    for pdf_path in tqdm(pdf_path_list):
        pdf_name = os.path.split(pdf_path)[1].split(".")[0]
        with fitz.open(pdf_path) as pdf:
            pdf_page_count = pdf.pageCount
            for pg in range(0, pdf_page_count):
                page = pdf[pg]
                mat = fitz.Matrix(2, 2)
                pm = page.getPixmap(matrix=mat, alpha=False)
                # if width or height > 2000 pixels, don't enlarge the image
                if pm.width > 2000 or pm.height > 2000:
                    pm = page.getPixmap(matrix=fitz.Matrix(1, 1), alpha=False)

                img = Image.frombytes("RGB", [pm.width, pm.height], pm.samples)
                # img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)
                img = Image.fromarray(np.array(img))
                img.save(os.path.join(result_path, f"{pdf_name}_{pg}.jpg"))

说明

pdf_dir:pdf文件的路径

result_path:保存的路径

以上即可完成pdf文件转换为图片, Enjoy~

∼ O n e p e r s o n g o f a s t e r , a g r o u p o f p e o p l e c a n g o f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim ∼One person go faster, a group of people can go further∼

相关推荐
kishu_iOS&AI6 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财6 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
wengqidaifeng6 小时前
python启航:1.基础语法知识
开发语言·python
观北海7 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
FreakStudio7 小时前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
柴米油盐那点事儿7 小时前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
AC赳赳老秦7 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
Ulyanov8 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
刀法如飞9 小时前
一款Python语言Django框架DDD脚手架,助你快速搭建项目
python·ddd·脚手架
刀法如飞9 小时前
一款Python语言Django框架DDD脚手架,适合中大型项目
后端·python·领域驱动设计