郑老师经常要整理一些文档资料发给学生学习,资料都是郑老师辛辛苦苦整理的,也不希望被滥用,所以,每次发给学生的时候又是加水印,又是转pdf,又是加密,又是希望文本内容不可复制以前,都是找各种软件手动点点点弄完的。
但是,一旦文档多了,这种手动点点点就显得有些低效了借着这次整理的资料,实现了上述需求的代码化,以后多少文档都可以批量实现了具体来说,在我的熏陶下,郑老师养成了用excel整理资料的习惯,知道给不同信息内容添加字段来归类整理。
这样的话,总结这次的整理需求就是:将excel的内容转成带有水印的word;将word转为pdf;将可编辑的pdf转为图片式不可复制的pdf;给pdf加密;代码参考来源:python-docx 0.8.10文档:osgeo.cn/python-docx/python自动化办公——python操做Excel、Word、PDF集合大全:shangmayuan.com/a/9b82fb31500e473f83f46372.html#jump51【Python】pdf2image模块+poppler将PDF转换为图片:blog.csdn.net/sinat37967865/article/details/102477235使用Python把Word文档转换为图片式不可修改的PDF文件:sohu.com/a/363087337797291
1.将excel内容转成带有水印的word这个其实挺好实现的,用到pandas和python-docx包python-docx可以新建文档,也可以打开已有文档,并写入或者修改内容(不能是空文档)所以,可以先新建个word文档(如下的muban.docx),把页码啊,水印啊,标题样式啊,一些格式上的问题先设置好,然后,只需要向这个文档写入excel数据就行。
以其中一个文档为例:
最后生成文档如下图所示:
2.将word转为pdf将word转为pdf就很好解决了,安装个包docx2pdf就行~
3.将可编辑的pdf转为图片式不可复制的pdf这个步骤就稍微复杂一些,好在前人栽树,后人乘凉,改改别人的代码就行主要就是先把pdf文件按照每页一张,拆分成图片;然后,将这些图片又合并为1个pdf文件就行。
这里涉及到需要下载并安装配置poppler,可以参考:blog.csdn.net/sinat37967865/article/details/102477235
生成的图片保存在以pdf文件名为名的文件夹里:
生成的图片式pdf,不可以复制,但是,需要注意,文档的大小同时也增加了,原来可能就600k的文档,转成图片pdf后,就有90M左右了。当然,可以降低下图片的像素dpi来减小文件大小。
4.给pdf加密最后,就是给pdf加密了,使用PyPDF2包就可以。如果是可复制的文字版的pdf,加密起来很快,但如果是图片不可复制的pdf,时间就会长些了。
结果如图所示:
当然,这次的文档内容主要是文字,如果有表格或者图片,可能会更复杂一些,但肯定也是能解决的啦~~
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。