python将pdf转换成图片

使用Python可以使用PyPDF2库将PDF文件转换为图片文件。
方法1:

import os
import PyPDF2
from pdf2image import convert_from_path

# 将PDF文件转换为图片
def pdf_to_image(input_path, output_path):
    # 打开PDF文件
    with open(input_path, "rb") as file:
        pdf = PyPDF2.PdfReader(file)
        
        # 遍历PDF的每一页
        for i in range(len(pdf.pages)):
            # 将页面转换为图像
            images = convert_from_path(input_path, first_page=i+1, last_page=i+1)
            
            # 保存图像文件
            image_path = os.path.join(output_path, "page{}.jpg".format(i+1))
            images[0].save(image_path, "JPEG")

# 指定PDF文件和输出文件夹
input_file = "path/to/input.pdf"
output_folder = "path/to/output"

# 调用函数进行转换
pdf_to_image(input_file, output_folder)

请注意,在运行此代码之前,您需要安装PyPDF2库和pdf2image库。您可以使用以下命令安装这两个库:

pip install PyPDF2 pdf2image

同时,还需要安装poppler工具,以在Python中处理PDF文件:

  • Windows用户可以从以下链接下载并安装poppler:https://blog.alivate.com.au/poppler-windows/
  • Linux用户可以使用以下命令安装poppler
sudo apt-get install -y poppler-utils

此代码将把每一页PDF文件转换为单独的JPEG图像文件,并将它们保存在指定的输出文件夹中。

方法2:

import fitz

def pdf_change_png(pdf_file_path):
    """
    将pdf转换成图片
    :param pdf_file_path: pdf文件地址
    """

    jpg_name = pdf_file_path.replace("pdf", "jpg")

    # 另存为pdf文件
    try:
        pdf_doc = fitz.open(pdf_file_path)
        for pg in range(pdf_doc.page_count):
            page = pdf_doc[pg]
            rotate = int(0)
            # 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。
            # 此处若是不做设置,默认图片大小为:792X612, dpi=96
            zoom_x = 1.33333333  # (1.33333333-->1056x816)   (2-->1584x1224)
            zoom_y = 1.33333333
            mat = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
            pix = page.get_pixmap(matrix=mat, alpha=False)

            pix.save(jpg_name)  # 将图片写入指定的文件夹内

    except IOError:
        raise ('pdf转png失败', pdf_file_path)

相关推荐

  1. pythonpdf转换图片

    2024-02-20 15:20:01       28 阅读
  2. 使用pdfboxpdf转换图片

    2024-02-20 15:20:01       11 阅读
  3. 使用PythonHTML快速转换PDF

    2024-02-20 15:20:01       43 阅读
  4. pythonword文件转换pdf文件

    2024-02-20 15:20:01       35 阅读
  5. 轻松使用pythonPDF转换图片(成功)

    2024-02-20 15:20:01       33 阅读
  6. Python PDF 转换为 png 图片的教程

    2024-02-20 15:20:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 15:20:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 15:20:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 15:20:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 15:20:01       20 阅读

热门阅读

  1. 【层序遍历】429. N 叉树的层序遍历

    2024-02-20 15:20:01       30 阅读
  2. docker的底层原理

    2024-02-20 15:20:01       28 阅读
  3. Spring源码笔记之SpringIOC--(3)什么是BeanFactory?

    2024-02-20 15:20:01       29 阅读
  4. Android 应用使用情况统计

    2024-02-20 15:20:01       33 阅读
  5. Vue:Vuex模块化编码(非常实用)

    2024-02-20 15:20:01       28 阅读
  6. 嵌出式------001

    2024-02-20 15:20:01       26 阅读
  7. docker 运行 tdengine 并且mybatis 连接

    2024-02-20 15:20:01       28 阅读
  8. python用websockets创建服务端websocket创建客户端

    2024-02-20 15:20:01       28 阅读
  9. 基于python+mysql的宠物领养网站系统

    2024-02-20 15:20:01       27 阅读
  10. Python 进阶语法:正则表达式

    2024-02-20 15:20:01       27 阅读
  11. Android app启动优化 2

    2024-02-20 15:20:01       30 阅读