时间:2021-05-22
老婆大人让俺帮她通过Excel生成百人的准考证,她们学校打算来一次高考模拟。由于高考改革,每个学生的考试科目不一样,需要自动生成一下。
我一个程序员平时很少用到Excel,自己也不打算深入研究这个软件。如何解决她的需求呢?我直接想到了python,无所不能的python肯定可以搞定这个小case。
解决思路
数据处理:这个很简单的
生成可打印的文件
这个有些难度,我首先想到生成word。而且python也有word包来解决,不过后来想了一下,这个方案有问题。word结构不开源,格式和样式处理起来应该有问题。另外word在国外不普遍,遇到问题解决方案肯定不多。而PDF却不同,PDF在国外应用广使用人多,肯定好解决。
寻找方案
通过python 生成 pdf的方案确定后,果然通过Google找到了pylabels这个库。
如何解决
第一步安装库
pip install pylabels
第二步 执行下面的代码
import labelsfrom 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标签排版打印功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在word文档打印时,有时文档是按A4排版的,由于实际需要用A3纸打印,大家通常的做法是在页面设置中把A4换成A3,然后分栏重新分栏排版,这样很麻烦的,其实wo
排版的Word文档,打印出来后,边距太大(或太小),怎么办?当前Word文档需要打印到的纸张不是A4纸,怎么办?排版Word文档,想要向古代书写一样地采用纵向(
在日常工作中遇到要打印小标签、卡片的时候需要将A4纸等分,今天小编就与大家分享一下如何运用WPS文档将一张A4纸等分,经验中小编以8等分A4纸为例,希望小编的经
用电脑打印时有时候用的纸张不是通用规格(A4,A3等),如打印单据,标签等,这时就需要我们自定义打印模板。1、打开“设备和打印机”窗体。
在生活中由于A4纸纸张太大,为方便打印成可便于携带的小书籍,就是将word中的内容打印到A4纸上,然后将A4纸对折之后,经过简单的装订就可以形成1/2A4纸大小