python图片转pdf,pdf转图片jpg

图片jpg转pdf

要将多个 JPG 图像文件转换为一个 PDF 文件,可以使用 Python 中的第三方库 reportlab 和 Pillow 来实现。以下是一个简单的示例代码,演示如何将多个 JPG 图像文件合并成一个 PDF 文件:

python 复制代码
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PIL import Image

def convert_images_to_pdf(image_paths, pdf_output):
    c = canvas.Canvas(pdf_output, pagesize=letter)
    
    for image_path in image_paths:
        img = Image.open(image_path)
        width, height = img.size
        c.setPageSize((width, height))
        c.drawImage(image_path, 0, 0, width, height)
        c.showPage()

    c.save()

# 将多个 JPG 图像文件转换为一个 PDF 文件
image_paths = ["image1.jpg", "image2.jpg", "image3.jpg"]
output_pdf = "output.pdf"
convert_images_to_pdf(image_paths, output_pdf)

在上面的代码中,convert_images_to_pdf 函数接受一个包含图像文件路径的列表 image_paths 和要输出的 PDF 文件名称 pdf_output。函数会打开每个图像文件,将其绘制到 PDF 文件中,并最终保存为一个 PDF 文件。

使用这段代码,可以将多个 JPG 图像文件合并成一个 PDF 文件。请确保安装了 reportlab 和 Pillow 这两个库,可以使用以下命令来安装它们:

python 复制代码
pip install reportlab Pillow

pdf转图片jpg

要将一个 PDF 文件拆分为多个 JPG 图像文件,可以使用 Python 中的第三方库 PyPDF2 和 Pillow 来实现。以下是一个简单的示例代码,演示如何将一个 PDF 文件中的每一页都转换为一个独立的 JPG 图像文件:

python 复制代码
import fitz
from PIL import Image

def pdf_to_jpg(input_pdf, output_folder):
    pdf_document = fitz.open(input_pdf)

    for page_num in range(pdf_document.page_count):
        page = pdf_document[page_num]
        image_list = page.get_images(full=True)
        
        for img_index, img_dict in enumerate(image_list):
            xref = img_dict[0]
            base_image = pdf_document.extract_image(xref)
            image_bytes = base_image["image"]
            image = Image.open(io.BytesIO(image_bytes))

            image_path = f"{output_folder}/page{page_num + 1}_image{img_index + 1}.jpg"
            image.save(image_path)

    pdf_document.close()

# 将一个 PDF 文件拆分为多个 JPG 图像文件
input_pdf = "input.pdf"
output_folder = "output_images"
pdf_to_jpg(input_pdf, output_folder)

在上面的代码中,pdf_to_jpg 函数接受一个输入的 PDF 文件路径 input_pdf 和一个输出图像文件夹路径 output_folder。函数会逐页读取 PDF 文件中的内容,并将每一页中的图像转换为 JPG 格式保存在指定的输出文件夹中。

请确保安装了 PyPDF2 和 Pillow 这两个库,可以使用以下命令来安装它们:

python 复制代码
pip install PyPDF2 Pillow
相关推荐
Java后端的Ai之路5 小时前
06-React-Props
前端·react.js·前端框架
Smoothcloud润云6 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
Flynt6 小时前
开源"间谍卫星"说数据全是真的,我把它的免key数据源挨个试了一遍
前端·开源·数据可视化
databook6 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
Csvn6 小时前
渲染管线
前端
棉猴6 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
程序员大阳7 小时前
副队长CSS教程(33)–圆角与透明
前端·css·透明·圆角
志尊宝7 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
诺伦7 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost7 小时前
pytorch学习笔记1
python·学习方法