会议管理-PDF
-
需求
管理员在发布会议后自动生成PDF文件,该PDF为本次发布的表单信息,方便用户下载,同时提供网页预览;
-
需求分析
- 技术选用,市面上转pdf文件软件调研
- 如何扩展目前会议管理集成PDF
-
技术选型
- wkhtmltopdf
-
程序设计
如何更优雅使用<u style="box-sizing: border-box;">wkhtmltopdf</u> ?避免重复造轮子,及开发过程中可能存在问题。
-
wkhtmltopdf是使用命令行模式生成pdf,在java中如何调用;
- 考虑Linux和Windows两种模式;
传入url应该涉及权限问题,这个控制层传入request是必要的用于获取当前操作者cookie;
-
系统中已经有上传功能,更好的结合它进行开发;
-
提交表单后置动作;
业务保存成功后,后台根据id执行topdf生成文件自动传入到默认配置文件夹;
根据uploadId去更新关联业务表,用于查找每个业务对应PDF附件;
考虑效率问题减少用户等待,主业务表成功之后的一系列后置操作采用异步线程来完成;
-
前端通过js控制隐藏不必要的属性;
-
-
WkHtmlToPdf-CentOs安装
查看系统版本:
cat /etc/redhat-release
测试机器centos7.2;
将wkhtmltopdf安装包上传至 /home/cznk/mkhtmlpdf/文件夹下;
-
rpm -ivh xxx.rpm
error
: Failed dependencies: xorg-x11-fonts-75dpi is needed by ... -
使用如下方法解压rpm包内已经编译好的包:
rpm2cpio xxx.prm | cpio -div
完成后在当前目录会生成一个 usr 的目录,里面包含 local/bin,local/include,local/share,local/lib四个文件夹
将对应文件夹的内容拷贝至/usr/local
cp -rv ./usr/local/* /usr/local/
测试:
wkhtmltopdf http://baidu.com output.pdf
-
下载pdf打开乱码后安装字体
下载字体库
复制到linux系统 /usr/share/fonts 下
重新执行命令查看pdf是否正常