Python 实现自动完成A4标签排版打印功能
老婆大人让俺帮她通过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标签排版打印功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python3 自动打印出最新版本执行的mysql2redis实例
我就废话不多说了,直接看代码吧! #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 输出 mysql2redis 命令 # __author__ = caozhi # create_time 2018-11-12,update_time 2019-12-12 # version = 2.0 import os import re import sys import time import fcntl import subprocess import
-
python实现处理mysql结果输出方式
在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理. 进行mysql结果文件输出: mysql -h10.20.10.207 -uroot -ppasswd test -e "select sendorderid, (price*100),mob from interfacelog where merid='****' >/home/anan/interfacelog.txt ##这里写你需要执行的sql语句将结果
-
Python使用扩展库pywin32实现批量文档打印实例
本文代码需要正确安装Python扩展库pywin32,建议下载whl文件进行离线安装.然后调用win32api的ShellExecute()函数来实现文档打印,系统会根据文档类型自动选择不同的软件进行打开并自动打印,如果要打印的是图片的话,需要手工确认一下. 关于ShellExecute()函数的参数含义请查阅Windows API或pywin32帮助文档. import win32print import win32api for fn in ['1.txt', '2.txt', '3.txt
-
Python 实现自动完成A4标签排版打印功能
老婆大人让俺帮她通过Excel生成百人的准考证,她们学校打算来一次高考模拟.由于高考改革,每个学生的考试科目不一样,需要自动生成一下. 我一个程序员平时很少用到Excel,自己也不打算深入研究这个软件.如何解决她的需求呢?我直接想到了python,无所不能的python肯定可以搞定这个小case. 解决思路 数据处理:这个很简单的 生成可打印的文件 这个有些难度,我首先想到生成word.而且python也有word包来解决,不过后来想了一下,这个方案有问题.word结构不开源,格式和样式处理起来
-
selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮箱登录地址为:https://mail.qq.com/ from selenium import webdriver import time zhengyi = webdriver.Chrome() zhengyi.get('https://mail.qq.com/') 这一步没有遇到问题,至于为什
-
Python 实现自动登录+点击+滑动验证功能
需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹出验证滑动条 def __init__(self): self.url = 'https://passport.csdn.net/login' self.browser = webdriver.Chrome() #获取登录按钮对象 选择 账号密码登录 def get_pa
-
Python实现自动为照片添加日期并分类的方法
本文实例讲述了Python实现自动为照片添加日期并分类的方法.分享给大家供大家参考,具体如下: 小时候没怎么照相,所以跟别人说小时候特别帅他们都不信.小外甥女出生了,我给买了个照相机,让她多照相.可惜他舅目前还是个屌丝,买了个700的屌丝照相机,竟然没有自动加日期的功能.试了几个小软件,都不好用,大的图像软件咱又不会用.身为一个计算机科学与技术专业的学生,只能自立更生了. 听说Python有个图形库,不错,在照片上打日期很容易,于是我就下了这个库.对Python不熟,一面看着手册一面写的.完成了
-
使用Python制作自动推送微信消息提醒的备忘录功能
日常工作生活中,事情一多,就会忘记一些该做未做的事情.即使有时候把事情记录在了小本本上或者手机.电脑端备忘录上,也总会有查看不及时,导致错过的尴尬.如果有一款小工具,可以及时提醒,而不用再主动去查备忘录,化被动为主动,那就再合适不过了.因此,在这里我们就利用Python,实现这样的一款"小工具". 初步设想 毫无疑问,手机是当前使用最频繁的工具,没有之一.饭可以不吃,手机不可以不带.如果能在某些特定的时点,将备忘记录事项通过某种形式发送到手机端,通过查看手机端消息实现事项提醒,那将是再
-
Python 实现自动导入缺失的库
在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError: No module named 'xxx' . 导入失败问题,通常分为两种:一种是导入自己写的模块(即以 .py 为后缀的文件),另一种是导入三方库.本文主要讨论第二种情况,今后有机会,我们再详细讨论其它的相关话题. 解决导入 Python 库失败的问题,其实关键是在运行环境中装上缺失的库(注意是否是虚拟环境)
-
利用python Selenium实现自动登陆京东签到领金币功能
如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形式登陆,就要切换一下. 我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签. [插入图片,两种登陆方式] 扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登陆,使其下面的a标签的class为checked,接下来的一切就比较简单了. 我们要获取
-
Python中的sys.stdout.write实现打印刷新功能
前言: 今天学习python的常用模块的时候,了解到了time模块和datetime模块,于是想在编译环境中实时打印出时间,不会换行,且打印的时候自动删除前一步打印出的时间(本质原理不是这样),而不是像print那样打印之后自动换行再重新打印. 想要直接看到效果及方法,请直接跳到后文 解决办法. 我们先来看看Print方法打印的效果: 代码: from datetime import datetime as dt import sys import time for i in range(5):
-
Python实现自动打开电脑应用的示例代码
由于时间原因,有时候可能会错过某个上网课的时间段.因此想要实现自动定时启动DingDing. 新手一枚,如有不当勿喷望大佬指正. 自动打开DingDing可以由两种方法实现: 通过找出找出软件在电脑中快捷方式的位置(电脑屏幕中的坐标),使用代码模拟鼠标进行双击打开. 通过输入软件在电脑中的安装路径打开软件. 1.第一种方法: 在python中,使用pip install pyautogui 安装第三方库,在此库中,可以使用pyautogui.position()获取当前鼠标放置位置的坐标.我们
-
Biblibili视频投稿接口分析并以Python实现自动投稿功能
B站视频发布接口分析 项目地址:https://gitee.com/nbody1996/bilibili_video_uploader 视频地址:https://www.bilibili.com/video/BV1qt4y1v76u/ 获取登录Cookies 请求要带着登录成功后关键Cookies,才能被B站后台认为是已登录的状态. 研究发现,以下两个是必要的: SESSDATA(session会话cookies, 相当于登录凭证) bili_jct(防CSRF攻击) 这两个都能在浏览器开发者工
随机推荐
- MongoDB的创建、更新和删除
- javascript Prototype 对象扩展
- JS:正则将首字单词转成大写
- CentOS 7系统下配置自定义JDK的教程
- stream.js 一个很小、完全独立的Javascript类库
- windows系统中python使用rar命令压缩多个文件夹示例
- JavaScript 模块化编程(笔记)
- JavaScript中的冒泡排序法
- Nodejs进阶:核心模块net入门学习与实例讲解
- Python实现保证只能运行一个脚本实例
- JQuery 国际象棋棋盘 实现代码
- 在js里怎么实现Xcode里的callFuncN方法(详解)
- js Li来实现的效果
- 安全技术—RSA公钥密码体制安全性分析
- C/C++函数调用栈的实现方法
- 基于mouseout和mouseover等类似事件的冒泡问题解决方法
- Android实现类似网易新闻选项卡动态滑动效果
- java volatile关键字使用方法及注意事项
- Android实现通讯录效果——获取手机号码和姓名
- 详解android特性之CoordinatorLayout用法探析实例