其他分享
首页 > 其他分享> > 跨平台导PDF,结合wkhtmltopdf很顺手

跨平台导PDF,结合wkhtmltopdf很顺手

作者:互联网

前言

好东西要分享,之前一直在使用wkhtmltopdf进行pdf文件的生成,常用的方式就是先安装wkhtmltopdf,然后在程序中用命令的方式将对应的html生成pdf文件,简单而且方便;但重复的编码使得想在wkhtmltopdf基础上进行封装,偶然间发现有小伙伴已经封装的还不错啦,常用的功能都已经实现,源码地址:https://github.com/fpanaccia/Wkhtmltopdf.NetCore。

作者将其打包成Nuget包(Wkhtmltopdf.NetCore),直接引入使用即可;

正文

既然用到了.NetCore,肯定就要考虑到跨平台兼容性,对于wkhtmltopdf之前一直是在Windows上使用,还没有在其他平台尝试;这个包封装的行不行,拉出来遛遛就知道啦,接下来就试试:

1. 建个API项目,引入包和兼容对应平台的wkhtmltopdf执行文件

image-20210120162314648

注: 默认依赖的wkhtmltopdf执行文件需要存放在Rotativa目录下,可以自定义名称,如果自定义,需要再注册服务时指定对应的文件名;这里的wkhtmltopdf已经根据不同平台进行编译打包了,无需安装,这些文件在源码那就有;

2.创建PDFTestController控制器,添加如下接口进行测试

首先把生成pdf的服务注入进来,后续直接使用就可以啦:

image-20210120162846169

接下来就开始写接口啦,这里只是测试,代码冗余没有考虑,在实际项目中小伙伴可以根据自己需求进行封装;

3. 小伙伴用的时候可能会遇到的问题

image-20210120173348468

最后这样应该就没啥问题啦,剩下的就交给小伙伴自己摸索搞实践吧;

​此文源码地址:https://github.com/zyq025/DotNetCoreStudyDemo

​wkhtmltopdf官网地址​:https://wkhtmltopdf.org/

总结

使用还是很简单的,常规的需求没啥问题,如果需要功能定制化,小伙伴可以参考源码,自己封装一个(封装思路不难的); 如果小伙伴有比较好的导出库,免费开源的那种,一起分享出来玩玩。

一个被程序搞丑的帅小伙,关注"Code综艺圈",识别关注跟我一起学~~~

标签:文件,wkhtmltopdf,封装,小伙伴,跨平台,pdf,PDF,对应
来源: https://www.cnblogs.com/zoe-zyq/p/14311462.html