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 相关文章推荐
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 Python
Python MySQLdb Linux下安装笔记
May 09 Python
python统计文本文件内单词数量的方法
May 30 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
python变量不能以数字打头详解
Jul 06 Python
python判断设备是否联网的方法
Jun 29 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 Python
Python猜数字算法题详解
Mar 01 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 Python
关于python中模块和重载的问题
Nov 02 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
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
谈谈JS中的!!
2017/12/07 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
详解jQuery设置内容和属性
2019/04/11 jQuery
js实现随机圆与矩形功能
2020/10/29 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python检测网站链接是否已存在
2016/04/07 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
pytorch 预训练层的使用方法
2019/08/20 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
大学生毕业自我鉴定范文
2013/11/03 职场文书
社区安全检查制度
2014/02/03 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
开学寄语大全
2014/04/08 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python