需求: 需要做一个pdf文档管理工具。为了让界面更加美观,考虑给每个文档增加一个封面。
我还记得三年前做过类似的工作。当时直接在网上找了一个图标,当做封面。这样所有的pdf文档都是一个封面,看着很单调。
后来,领导就要求用户在上传资料前,自己先制作一张封面,一起上传。
这个解决方案其实也有很大问题,一个是增加了用户操作成本。另一个就是,每个用户封面的风格比例不同,摆在一起也不美观。
这次,我就开动了脑筋,想到了利用词云自动生成封面的方案。
技术很简单,就是后端接收到用户上传的pdf文档后,做以下三件事:
- 文字提取(pdfminer)。
- 关键词和频率提取(jieba)。
- 词云绘制(wordcloud).
每件事都有相应的python工具库(其实,每件事几乎都只有一行代码),只需要拿来用即可,效果还挺好。
带上封面后,界面就高级了一些注意,如果pdf较大的话,这三件事计算量还是挺大的,而且还涉及到io操作,一般都需要几秒钟的处理时间。所以可以考虑用异步任务队列完成,减少用户等待时间。
网友评论