【教学类-51-01】20240411动物皮毛图片的彩色打印PDF制作(一页两张图片,2个表格)

作品展示

背景需求:

为了便于快速做出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 Cmpath = 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)

作品展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医院预约系统微信小程序APP前后端

医院预约系统具体功能介绍:展示信息、可以注册和登录, 预约(包含各个科室的预约,可以预约每个各个医生),就诊引导包含预约的具体信息,包含就诊时间、就诊科室、就诊医生以及就诊人信息、和支付状…

基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用

熟悉蒸散发ET及其组分(植被蒸腾Ec、土壤蒸发Es、冠层截留Ei)、植被总初级生产力GPP的概念和碳水耦合的基本原理;掌握利用Python与ArcGIS工具进行课程相关的操作;熟练掌握国际上流行的Penman-Monteith模型,并能够应用该…

有真的副业推荐吗?

#有真的副业推荐吗# 我做副业项目的时候,认识了一位带娃宝妈,讲一下她空闲时间做副业赚钱的故事吧。在一个温馨的小家庭里,李婷是一位全职宝妈,她的主要任务是照顾和陪伴自己可爱的宝宝。然而,随着宝宝逐渐长大&#x…

Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念,它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别,分别是:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)…

【MATLAB源码-第188期】基于matlab的64QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境: MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术,作为一种高效的调制方案,能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

Ubuntu使用SSH的X11Forwarding

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、X11Forwarding是什么?二、使用步骤1.打开SSH配置2.MobaXterm 三、测试总结 前言 有没有那么一种需求,就是有时候你需要将远端的画面…

dbeaver数据库语言编辑器设置jdbc驱动

打开 dbeaver 软件 数据库 -> 驱动管理器 以mysql为例 双击 MySQL -> 库 -> 添加工件 然后 打开maven组件库 官网 找到mysql驱动对应的maven工件地址 复制进去然后确认就行了 参考 大神博客

VM虚拟机安装Linux系统Redhat7.4版本

1、打开VM软件创建一个新的虚拟机: 可选择经典安装,也可以选择自定义安装,本次选择自定义安装,然后选择下一步 2、直接默认选择下一步即可 3、选择稍后安装操作系统,选择下一步 4、之后选择呢需要安装客户机的操作系统…

Linux 添加启动服务--Service

1,服务配置service文件 Service 服务的实际作用是开启后自动启动服务,运行一些不须要登录的程序,任务。 实例1、上电自动连接WIFI热点 1.1 新建.service文件 /etc/systemd/system/wificonnect.service [Unit] DescriptionService [wifico…

策略为王股票软件源代码\StkUI\View\BaseView.cpp-------显示股票基本资料的视图-------程序代码都在里面了

CString strHeader info.GetStockCode(); strHeader " "; /修改 strHeader info.GetStockName(); strHeader "\r\n\r\n "; GetEditCtrl().SetWindowText( strHeader ); GetEditCtrl().SetSel…

Linux配置程序后台运行(前后台来回切换)

Linux配置程序后台运行 在日常开发过程中,会遇到我们在前台运行程序,此时我们临时有事,但不能关闭终端,否则程序就会在电脑熄屏(终端session断开后)停止运行。 那么作为一个合格的开发,就必须要…

ELFK日志分析系统之搭建ELF+Filebeaat+Zookeeper+Kafka

引言 结合前面所学 http://ELK日志分析系统 一、为什么要做日志分析平台 随着业务量的增长,每天业务服务器将会产生上亿条的日志,单个日志文件达几个GB,这时我们发现用Linux自带工具,cat grep awk 分析越来越力不从心了&#…

【Linux】序列化与反序列化{服客编程/守护进程/JSON}

文章目录 1.引入2. 静态成员函数3.TCP:传输控制协议4.守护进程4.0前台进程4.1介绍4.2认识4.3会话4.3ps axj4.4理解4.5/dev/null4.6守护进程和孤儿进程 5.JSON6.完整代码6.1Makefile6.2Socket.hpp6.3Protocol.hpp6.4Log.hpp6.5Daemon.hpp6.6TcpServer.hpp6.7Client.c…

Spring高手之路17——动态代理的艺术与实践

文章目录 1. 背景2. JDK动态代理2.1 定义和演示2.2 不同方法分别代理2.3 熔断限流和日志监控 3. CGLIB动态代理3.1 定义和演示3.2 不同方法分别代理(对比JDK动态代理写法)3.3 熔断限流和日志监控(对比JDK动态代理写法) 4. 动态代理…

基于ssm的智慧餐厅点餐管理系统设计与实现(java项目+文档+元)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的智慧餐厅点餐管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 智慧餐厅点餐管理系统设计…

踩了一堆坑,终于掌握了postgreSQL主从流的精髓

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

【数据结构】4.List的介绍

目录 1.什么是List 2.常见接口介绍 3.List的使用 1.什么是List 在集合框架中,List是一个接口,继承自Collection。 Collection也是一个接口,该接口中规范了后序容器中常用的一些方法,具体如下: Iterable也是一个接口…

syscall的检测与绕过(下)

syscall的检测与绕过 ntdll中syscall被执行的格式大致 我们可以通过检测mov r10, rcx类似的代码来确定程序是否直接进行系统调用。 但是很容易被bypass 而且还可以写出很多不一样的写法,显然这个方式是不行的。很轻易就会被bypass。 当然也可以检测syscall指令&a…

UDTF函数 explode

场景: 原hive数据形式 split 处理到一个Array 形式 使用explode炸开后的效果是 explode结合侧面视图达到targeType 目标形式: 一进多出 explode 将hive 中复杂的 array 炸成多行 因为炸开后, movie 列值少于categoryname 列所以这里为了达到…

朴素模式匹配算法

什么是字符串的模式匹配? 字符串模式匹配:在主串中找到与模式串相同的字串,并返回其所在位置 算法思想: 算法思想为:从主串S的第一个字符起,与模式串T的第一个字符比较,若相等,则继续逐个比较后续字符;否则从主串的下一…