0
点赞
收藏
分享

微信扫一扫

html--自动烟花

钎探穗 1天前 阅读 0
python

作品展示

背景需求:

为了便于快速做出A4两份图片的效果,设计以下代码,进行图片的PDF合成打印

代码参考:

【教学类-50-06】20240410“数一数”4类星号图片制作PDF学具-CSDN博客文章浏览阅读531次,点赞8次,收藏3次。【教学类-50-06】20240410“数一数”4类星号图片制作PDF学具https://blog.csdn.net/reasonsummer/article/details/137599757

第一步:下载图片

第二步:切割修图

我用PS把每张图片都修好了(因为图片有白边,而且每张图片的位置并不是正好等分)

第三步:制作word模板,

第四步:导入PDF打印版

代码展示



'''
把动物皮毛图片插入模板,生成打印用pdf
作者:AI对话大师,阿夏
时间:2024年4月11日
'''

import os
import time
import glob
from docx import Document
from docx.shared import Cm

path = r'C:\Users\jg2yXRZ\OneDrive\桌面\主题强\01墙面花纹'
input_folder = path + r'\new2'

output_folder = os.path.join(path, '零时文件')

# 创建输出文件夹
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 获取234文件夹内的所有png图片路径
image_files = glob.glob(os.path.join(input_folder, '*.jpg'))

# 创建新的docx文档
doc = Document(path + fr'\打印1.docx')

# 插入图片和文本到表格中的00格和10格
for i, img_path in enumerate(image_files):
    table = doc.tables[i % 2]
    
    # 插入图片到00格
    cell_00 = table.cell(0, 0)
    cell_00.paragraphs[0].clear()  # 清空单元格中原有内容
    cell_00.paragraphs[0].alignment = 1  # 设置居中对齐
    run_00 = cell_00.paragraphs[0].add_run()
    run_00.add_picture(img_path, width=Cm(21.38), height=Cm(14.68))
    
    # # 在10格中插入文本
    # cell_10 = table.cell(1, 0)
    # cell_10.paragraphs[0].clear()  # 清空单元格中原有内容
    # cell_10.paragraphs[0].text = "这是10格的文本"

    # 每插入两张图片保存一次文件
    if (i+1) % 2 == 0:
        doc.save(os.path.join(output_folder, f'{i//2:02d}.docx'))

time.sleep(1)

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger

# output_folder = output_folder
pdf_output_path = path+fr'\动物皮毛.pdf'

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(output_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(output_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(output_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(output_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

import shutil
# 删除输出文件夹
shutil.rmtree(output_folder)

作品展示

举报

相关推荐

0 条评论