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实现简单的HttpServer服务器示例
Sep 25 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
基于pip install django失败时的解决方法
Jun 12 Python
详解python实现识别手写MNIST数字集的程序
Aug 03 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
用Python开发app后端有优势吗
Jun 29 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
javascript知识点收藏
2007/02/22 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
Vue中props的详解
2019/05/16 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
python+opencv实现车道线检测
2021/02/19 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2014年党建工作总结
2014/11/11 职场文书
教师思想工作总结2015
2015/05/13 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python