PDF转Images

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: PDF转Images

背景

最近在做图片相关的项目,有个需求要求同时支持PDF和图片,那么很直观的思路的把PDF文档转换为 List<image> 来适配统一的处理策略。
所以本教程是介绍如何使用 Python 语言将 PDF 文档转换为 List<image>

环境以及依赖package

NStudyPy==0.0.5 NStudyPy 工具包 , 一个有用的工具包,可以简化开发流程,详细介绍可以参考 NStudyPy
由于NStudyPy依赖于pdf2image <=1.17.0pdf2image又依赖 poppler, poppler安装请参考 poppler
本教程使用 python 3.10.13 作为开发环境 , 原则上适用于 python 3.9+
本教程开发环境为 windows 10 ,原则上其他系统应该也可以 , 但请注意需要安装对应环境的 poppler, 同时需注意配置 环境变量, 环境变量配置请参阅本站其他文档

!!本站支持全文搜索。

主要流程

  1. 创建项目,安装依赖
pip install NStudyPy==0.0.5
  1. 调用方法
def test_pdf():
    for image in PyPDF.convert_images(r'1.pdf', ImageFormat.PIL):
        if isinstance(image, Image):
            print(image.format, image.mode)
        else:
            print(image.shape)

说明

  • pdf_path: pdf文件路径
  • image_format: 图片格式, 默认为 ImageFormat.OPENCV , 同时支持返回 ImageFormat.PIL格式
  1. 核心源码
    def convert_images(pdf_path: str, image_format: ImageFormat = ImageFormat.OPENCV) -> List[object]:
     """
     Convert pdf to images
     :param image_format: ImageFormat
     :param pdf_path:
     :return: List[Image.Image] or List[cv2.typing.MatLike]
     """
     images = convert_from_path(pdf_path)
     if image_format == ImageFormat.OPENCV:
         new_images = []
         for image in images:
             opencv_image = np.array(image)
             if opencv_image.shape[2] == 3:
                 opencv_image = cv2.cvtColor(opencv_image, cv2.COLOR_RGB2BGR)
             new_images.append(opencv_image)
         return new_images
     return images
    
目录
相关文章
|
JavaScript
Vue~在线预览doc、docx、pdf、img文件
Vue~在线预览doc、docx、pdf、img文件
6384 0
|
JavaScript 前端开发 HTML5
PDF转图片,PDF转JPG/PNG,完全由JS实现
原理 使用pdf.js预览图片,pdf.js将pdf通过canvas将每一页渲染出来,然后我们通过canvas的toDataURL方法保存为jpg或png格式。pdf.js是Mozilla开源的一个js库,无需任何本地支持就可以在浏览器上显示pdf文档。
15126 1
|
3月前
|
编解码 数据安全/隐私保护
pdf保存为img
【9月更文挑战第06天】
38 6
pdf文件转化为png照片 (PyMuPDF下面的fitz)
pdf文件转化为png照片 (PyMuPDF下面的fitz)
|
Java 文件存储 Maven
将PDF文件转换成PNG图片
有这样一个业务场景:需要在 WEB 页面中浏览 PDF 文件,PDF 文件存储在 FTP 服务器上,即 PDF 文件对外提供的访问地址的协议是 ftp 的。有如下几个硬条件、软需求的要求: - WEB 页面本身的可视区域不是很大; - 不想弹出对话框展示 PDF 文件; - 谷歌浏览器不支持在 http 协议的页面里内嵌 ftp 协议的路径; - 在 WEB 页面中使用系统默认的 PDF 阅读器的体验不是很好,滚动条啦,边框啦。
319 0
|
XML Java 数据库
itextpd f生成 pdf 文件
一、简介  itextpdf 是一个开源的允许你去创建和操作PDF文档的库。它使的开发者可以提高web和其他应用来动态地生成或操作PDF文档。通过iText 中的Document和PdfWriter类,我们可以以数据库、xml文件、或者其他数据源为源头创建PDF文档。
1550 0
|
XML C# 数据格式
C# Word转为多种格式文件(Word转XPS/SVG/EMF/EPUB/TIFF)
一款有着强大的文档转换功能的工具,无论何时何地都会是现代办公环境极为需要的。在本篇文章中,将继续介绍关于Word文档的转换功能(Word转XPS/SVG/EMF/EPUB/TIFF)希望方法中的代码能为各位开发者们提供一定的参考价值。
1825 0
|
XML Java 数据格式
下一篇
DataWorks