Python 实现自动完成A4标签排版打印功能


Posted in Python onApril 09, 2020

老婆大人让俺帮她通过Excel生成百人的准考证,她们学校打算来一次高考模拟。由于高考改革,每个学生的考试科目不一样,需要自动生成一下。

我一个程序员平时很少用到Excel,自己也不打算深入研究这个软件。如何解决她的需求呢?我直接想到了python,无所不能的python肯定可以搞定这个小case。

解决思路

数据处理:这个很简单的

生成可打印的文件

这个有些难度,我首先想到生成word。而且python也有word包来解决,不过后来想了一下,这个方案有问题。word结构不开源,格式和样式处理起来应该有问题。另外word在国外不普遍,遇到问题解决方案肯定不多。而PDF却不同,PDF在国外应用广使用人多,肯定好解决。

寻找方案

通过python 生成 pdf的方案确定后,果然通过Google找到了pylabels这个库。

如何解决

第一步安装库

pip install pylabels

第二步 执行下面的代码

import labels
from reportlab.graphics import shapes
 
specs = labels.Specification(210, 297, 2, 8, 90, 25, corner_radius=2)
 
def draw_label(label, width, height, obj):
 
label.add(shapes.String(2, 2, str(obj), fontName="Helvetica", fontSize=40))
 
# Create the sheet.
sheet = labels.Sheet(specs, draw_label, border=True)
 
# Add a couple of labels.
sheet.add_label("Hello")
sheet.add_label("World")
 
# We can also add each item from an iterable.
sheet.add_labels(range(3, 22))
 
sheet.add_label("Oversized label here")
 
# Save the file and we are done.
sheet.save('basic.pdf')
print("{0:d} label(s) output on {1:d} page(s).".format(sheet.label_count, sheet.page_count))

数据处理部分我就不分享了,就是简单的读取csv文件。

以上这篇Python 实现自动完成A4标签排版打印功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现子类调用父类的方法
Nov 10 Python
Python中用于转换字母为小写的lower()方法使用简介
May 19 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
python爬虫获取多页天涯帖子
Feb 23 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
Python GUI编程完整示例
Apr 04 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 #Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 #Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 #Python
python实现处理mysql结果输出方式
Apr 09 #Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 #Python
python数据分析工具之 matplotlib详解
Apr 09 #Python
使用python检查yaml配置文件是否符合要求
Apr 09 #Python
You might like
简单易用的计数器(数据库)
2006/10/09 PHP
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
PHP中文编码小技巧
2014/12/25 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
django框架如何集成celery进行开发
2017/05/24 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python封装原理与实现方法详解
2018/08/28 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
SQL语言面试题
2013/08/27 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015年端午节活动方案
2015/05/05 职场文书
如何写通讯稿
2015/07/22 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
利用Python实时获取steam特惠游戏数据
2022/06/25 Python