Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能
老婆大人讓俺幫她通過(guò)Excel生成百人的準(zhǔn)考證,她們學(xué)校打算來(lái)一次高考模擬。由于高考改革,每個(gè)學(xué)生的考試科目不一樣,需要自動(dòng)生成一下。
我一個(gè)程序員平時(shí)很少用到Excel,自己也不打算深入研究這個(gè)軟件。如何解決她的需求呢?我直接想到了python,無(wú)所不能的python肯定可以搞定這個(gè)小case。
解決思路
數(shù)據(jù)處理:這個(gè)很簡(jiǎn)單的
生成可打印的文件
這個(gè)有些難度,我首先想到生成word。而且python也有word包來(lái)解決,不過(guò)后來(lái)想了一下,這個(gè)方案有問(wèn)題。word結(jié)構(gòu)不開(kāi)源,格式和樣式處理起來(lái)應(yīng)該有問(wèn)題。另外word在國(guó)外不普遍,遇到問(wèn)題解決方案肯定不多。而PDF卻不同,PDF在國(guó)外應(yīng)用廣使用人多,肯定好解決。
尋找方案
通過(guò)python 生成 pdf的方案確定后,果然通過(guò)Google找到了pylabels這個(gè)庫(kù)。
如何解決
第一步安裝庫(kù)
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ù)處理部分我就不分享了,就是簡(jiǎn)單的讀取csv文件。
以上這篇Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?web實(shí)戰(zhàn)教程之Django文件上傳和處理詳解
Django和Flask都是Python的Web框架,用于開(kāi)發(fā)Web應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Python?web實(shí)戰(zhàn)教程之Django文件上傳和處理的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
python實(shí)現(xiàn)字典(dict)和字符串(string)的相互轉(zhuǎn)換方法
這篇文章主要介紹了python實(shí)現(xiàn)字典(dict)和字符串(string)的相互轉(zhuǎn)換方法,涉及Python字典dict的遍歷與字符串轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python使用Pickle模塊進(jìn)行數(shù)據(jù)保存和讀取的講解
今天小編就為大家分享一篇關(guān)于Python使用Pickle模塊進(jìn)行數(shù)據(jù)保存和讀取的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
python對(duì)視頻畫(huà)框標(biāo)記后保存的方法
今天小編就為大家分享一篇python對(duì)視頻畫(huà)框標(biāo)記后保存的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python getsizeof()和getsize()區(qū)分詳解
這篇文章主要介紹了Python getsizeof()和getsize()區(qū)分詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python機(jī)器學(xué)習(xí)應(yīng)用之決策樹(shù)分類實(shí)例詳解
決策樹(shù)(Decision?Tree)是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過(guò)構(gòu)成決策樹(shù)來(lái)求取凈現(xiàn)值的期望值大于等于零的概率,評(píng)價(jià)項(xiàng)目風(fēng)險(xiǎn),判斷其可行性的決策分析方法,是直觀運(yùn)用概率分析的一種圖解法2022-01-01

