HTML页面生成PDF文件

此方法可以将所有打开的html页面生成为PDF文件,生成的文件与正常PDF无异。
PDF样式完全由html页面决定;可自行修改html内容

调用系统程序需要的hutool

		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.7.20</version>
		</dependency>

生成PDFjava代码具体内容自行实现


 // 获取资源路径
            String path="";
            PathMatchingResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
            Resource[] pathArray = resourceResolver.getResources("classpath:");
              path = pathArray[0].getURI().getPath();
            log.info("获取资源路径: " +path);
			//Windows系统下替换路径头
            if(path.contains("/D:/")){
                path = path.replace("/D:/","D:/");
            }
            // 拼接报告名称
            String  fileName=name+"-"+mobile+"-"+date+"-体检报告.pdf";
            path=path+fileName;
            log.info("--PDF文件生成地址: " +path);
            // 获取报告页面地址处理
            String doctorUrl="www.baidu.com/person/medreport_detailAnalyzeRpt.action?param1={param1}&param2={param2}";
            doctorUrl=doctorUrl.replace("{id}", id).replace("{personId}", personId);
            //Windows 系统下生成PDF报告
//            String str = RuntimeUtil.execForStr("D:\\develop\\wkhtmltox-0.12.6-1.mxe-cross-win64\\wkhtmltox\\bin\\wkhtmltopdf.exe "+doctorUrl+" "+path);
            //Linux 系统下生成PDF报告
            String str = RuntimeUtil.execForStr("wkhtmltopdf "+doctorUrl+" "+path);
            log.info("PDF文件生成结果: " +str);
            //将报告上传到文件系统
            File  file = new File(path);
            log.info("PDF文件保存路径:"+file.getPath());
            String fileUrl=  "www.baidu.com/file/uploadFile";
            String result= UploadFile.uploadFile(fileUrl,"",file);
            log.info("PDF文件上传返回结果: " +result);
            //删除报告文件
            boolean delete = file.delete();
            log.info("删除临时PDF文件结果: " +delete);

wkhtmltox文件安装包地址
网盘地址
部署Linux时需要安装以及配置

导出pdf所需要的依赖安装过程

当程序调用wkhtmltopdf时,显示无此命令则需按以下步骤进行安装:

将rpm离线安装包上传到服务器tmp中

yum install -y libX11 libXext libXrender libjpeg xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

rpm -ivh wkhtmltox-0.12.6-1.centos7.x86_64.rpm

安装中文字体
mkdir /usr/share/fonts/chinese

vi /etc/fonts/fonts.conf

在font dir list中加入以下设置
<dir>/usr/share/fonts/chinese</dir>


将windows中的中文字体复制到文件夹中

上传到服务器/tmp下


mv /tmp/chinese /usr/share/fonts

fc-cache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值