如何优雅的将excel表中的信息分别P成100张图

  这两天有个任务,Y老师想为阅读馆设计一套任务卡,每张卡片上是书籍的对应信息,以及与这本书对应的任务。Y老师有一个excel文件里面有对应的书籍信息,但是需要把它们做成美美的图书任务卡才行。

  现在问题来了,单独一张一张P肯定不现实,而且订好了模板之后放入内容都是机械而重复的工作,所以我写了个脚本来解决,接下来说一下解决方式。

  我的想法是首先把底部的模板做好,然后写一个HTML文件,这个文件的网页使用这张模板为背景,然后我在上面需要的地方添加上字。之后使用Python写个脚本可以批处理的读入excel文件中的所有数据库信息,并且将他们生成到html的代码文件的对应位置,这样我可以得到100个HTML文件,最后将这些文件转化成图片或PDF文件,然后再用PS进行批处理进行剪裁和修改图片大小即可。

  下面说一下具体步骤:

  1. 用PS做好图片模板,这里不再多说,成品如下。

    4 - 如何优雅的将excel表中的信息分别P成100张图

  2. 将改模板写成html文件,我的代码如下:

  3. 用Python读入CSV文件并且生成html文件的代码如下,这里我在输入中文字符到文本的时候本来用的是printf语句,但是一直有格式问题,最后生成了str

  4. HTML文件生成后,我到网上下载了一个软件叫做webshot,它可以把网站截图,并且支持批处理,这样我就可以把我的网页生成图片了,下载链接如下:

http://more.tianjimedia.com/soft/down.jsp?id=33517383&f=bing&path=http://cdn2.mydown.yesky.com/soft/201403/webshot.exe

  5. 要注意一下因为该软件截图的大小是817*617像素,所以我的背景图直接做成了这个像素大小的,如果大小不对截出来的图可能会只有一部分。此外,还要生成一个让webshot软件来读html文件地址的脚本,代码如下:

  6. Webshot软件只能截屏能访问的网站,所以我们需要安装一下XAMPP,并且把html文件放到htdocs文件夹中,写的地址也应该是localhost的地址,选定读取的txt和生成的图片存储位置。

  7. 最后因为生成的图片名字是乱码的,可以用以下的代码写进bat文件,放到图片目录下运行,即可批处理成按照数字顺序命名,再之后如果图片还需要什么操作,比如剪裁或者修改大小,可以用PS的批处理完成,这里不在赘述。

  8. 所有循环劳动需要花你的时间超过五分钟的事情,都用脚本来解决。