使用python将pdf插入到docx中

python 复制代码
from pdf2image import convert_from_path
from docx import Document
from docx.shared import Inches,Cm

# 将PDF转换为图片
pages = convert_from_path('4.pdf', 200)  # 200是DPI,可以根据需要调整

doc = Document()

# 计算图片在docx中应该显示的宽度
img_width = Cm(21-6.36-2) / 2  # 图片的宽度

# 将图片直接插入到docx文件中
for i in range(0, len(pages), 2):
    paragraph = doc.add_paragraph()  # 增加一个新的段落
    run = paragraph.add_run()
    
    for j in range(i, min(i + 2, len(pages))):
        page = pages[j]
        page.save(f'page_{j}.jpg')  # 保存图片
        run.add_picture(f'page_{j}.jpg', width=img_width)  # 直接插入图片并调整宽度

doc.save('output.docx')

效果展示:

pdf为:

docx 为:


2024-3-31 01点18分

相关推荐
Empty_7772 小时前
编程之python基础
开发语言·python
哲Zheᗜe༘5 小时前
了解学习Python编程之python基础
开发语言·python·学习
麦麦大数据5 小时前
F024 RNN+Vue+Flask电影推荐可视化系统 python flask mysql 深度学习 echarts
python·rnn·深度学习·vue·echarts·电影推荐
技术钱5 小时前
vue3 封装图片上传预览组件支持docx、excel、pdf、图片、txt格式
vue.js·pdf·excel
Roc-xb6 小时前
ModuleNotFoundError: No module named ‘conda_token‘
开发语言·python·conda
weixin_525936336 小时前
部分Spark SQL编程要点
大数据·python·sql·spark
Xyz996_6 小时前
python编程基础知识
python
人工干智能6 小时前
Python 开发中:`.ipynb`(Jupyter Notebook 文件)和 `.py`(Python 脚本文件)
开发语言·python·jupyter
woshihonghonga6 小时前
Jupyter Notebook单元格输出换行问题解决
ide·python·jupyter
~~李木子~~7 小时前
Jupyter Notebook(ipynb)转 Python(py)文件
python·jupyter