python自动排版 html_Python 实现自动完成A4标签排版打印功能
老婆大人讓俺幫她通過Excel生成百人的準(zhǔn)考證,她們學(xué)校打算來一次高考模擬。由于高考改革,每個學(xué)生的考試科目不一樣,需要自動生成一下。
我一個程序員平時很少用到Excel,自己也不打算深入研究這個軟件。如何解決她的需求呢?我直接想到了python,無所不能的python肯定可以搞定這個小case。
解決思路
數(shù)據(jù)處理:這個很簡單的
生成可打印的文件
這個有些難度,我首先想到生成word。而且python也有word包來解決,不過后來想了一下,這個方案有問題。word結(jié)構(gòu)不開源,格式和樣式處理起來應(yīng)該有問題。另外word在國外不普遍,遇到問題解決方案肯定不多。而PDF卻不同,PDF在國外應(yīng)用廣使用人多,肯定好解決。
尋找方案
通過python 生成 pdf的方案確定后,果然通過Google找到了pylabels這個庫。
如何解決
第一步安裝庫
pip install pylabels
第二步 執(zhí)行下面的代碼
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))
數(shù)據(jù)處理部分我就不分享了,就是簡單的讀取csv文件。
以上這篇Python 實現(xiàn)自動完成A4標(biāo)簽排版打印功能就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持自學(xué)編程網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的python自动排版 html_Python 实现自动完成A4标签排版打印功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 妖狐哪里多
- 下一篇: 红米k20pro有人脸识别吗(汉典红字的