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 相关文章推荐
仅用50行Python代码实现一个简单的代理服务器
Apr 08 Python
python通过cookie模拟已登录状态的初步研究
Nov 09 Python
Python实现的矩阵类实例
Aug 22 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
python入门教程 python入门神图一张
Mar 05 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
Django实现发送邮件功能
Jul 18 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Pycharm调试程序技巧小结
Aug 08 Python
如何利用pygame实现打飞机小游戏
May 30 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
php5 mysql分页实例代码
2008/04/10 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
php无限极分类实现方法分析
2019/07/04 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
Python获取时间戳代码实例
2019/09/24 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
汽车队司机先进事迹材料
2014/02/01 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js