整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

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

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

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

正文

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

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



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

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

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



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

  • ExportPDFByHtml 接口,用html直接生成pdf文件,但这里没有保存,以文件流的形式访问,通过浏览器查看文件,可以自行下载;html模板在实际开发过程中可以单独用文件存储;



  • SavePDFByHtml接口,直接保存文件,文件名可以根据需要进行自定义;



  • TestMarginAndPageSize接口,设置Margin和PageSize参数,其他参数也可以设置;



ConvertOptions默认封装了以下属性,小伙伴也可以自定义扩展,只要继承IConvertOptions即可,这里就不演示的,因为官方有对应的案例,下伙伴下去搞搞,wkhtmltopdf的参数挺多的,都可以进行封装使用。



  • ExportByRazorView使用Razor视图的方式进行pdf文件生成,此库已经支持cshtml文件的读取



根据指定视图生成对应的pdf效果,如下:



  • ExportByRazorViewData数据动态绑定,既然支持视图,那就应该支持Razor语法,一般常用的就是数据绑定了,上面是静态的,接下来来个动态绑定的。



根据指定视图生成对应的pdf效果,如下:



如上基本的使用演示就说那么多,使用还是很简单,小伙伴后续可以根据自己的需要进行相关扩展;当然还有其他功能,比如设置页眉/页脚等,作者提供有对应的案例;这里不说那么多,不然又是长文。

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

  • 在开发调试运行项目时,会报找不到wkhtmltopdf文件,那是因为运行时的确找不到对应的文件,将对应Rotativa下的文件设置为始终复制即可:



  • 在Windows下怎么玩都没问题啦,开始发布到Linux(我用的centos 7),我擦,莫名其妙的错。



看见这个错我懵的,一顿搜索猛如虎,还是没找到答案;冷静下来,重新捋捋,原来是自己在犯傻;

两个问题需要解决,1.上传到Linux下的wkhtmltopdf没有给执行权限;2.可能环境缺少对应的依赖库;

设置可执行权限

在Linux环境下,可以通过ll命令查看权限,刚开始是没有权限的,只需要执行chmod 777 wkhtmltopdf命令,执行权限就有了,如下图中红框中的x就是可执行权限;关于Linux常用命令后续单独整理一篇分享吧,这里先不延伸。



安装缺少的依赖库

可执行权限开启之后,别急着去访问页面,这样可能还是错误。因为可能缺少依赖库,那咋知道缺少呢,我是直接执行wkhtmltopdf,执行成功就没啥,不成功就会报缺少相关依赖,然后直接安装就行啦;执行./wkhtmltopdf https://www.baidu.com ./test.pdf试试就知道啦,因为wkhtmltopdf本身是可以单独运行的,并不依赖我们写的程序。

  • 当执行成功之后,然后开始访问接口导出功能,如果不出意外,遇到中文就产生乱码啦,那是因为Linux环境下缺少相关的字体文件,将对应的字体文件拷贝到Linux上即可,字体我找好了,下载地址如下:

链接: https://pan.baidu.com/s/1jikC0DUkpEzpXL5ysjEQPA 提取码: tn4j

将下载下来的字体解压,然后拷贝到Linux下的 /usr/share/fonts目录下即可

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

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

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

总结

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

感谢小伙伴的:点赞收藏评论,下期继续~~~

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

然你点进来了?是不是想看一些与众不同的东西?(*▼ー(。-_-。)你一定是想看……怎么找一些实用的学习资料吧!!!好啦~不逗你,今天整理了五个资源满满的黑科技网站,相信一定够你用的了!

1.ED 2000

这是一个资源共享的平台,我们平时可能会用网盘来资源分享,所以这个网站就是一个集大成者,这里提供了最新的综艺、动漫、音乐、游戏、图书等等资源的共享,每天有数以万计的网友在这里分享资源,所以找资源,来这里就对了!

2.万盘搜索

万盘是一款网盘搜索网站,网站首页飞剑简洁清晰,你可以直接在搜索框搜索你想要的资源,例如电影、动漫、港剧等等,同时下面还有推荐的功能,可以在推荐的内容里面点击直接进入去下载。

3.超高无损音乐

现在想找一首喜欢的歌并且下载来听并不是一件简单的事情,可能因为版权问题,你需要下好多个APP才能听,或者不够优质等等。那么这个网站就特别适合喜欢音乐的人了,这里只生产无损音乐,而且可以免费下载,实在是太贴心啦~

4.办公资源

平时工作的时候总是要找一些办公资源,这个网站或许可以帮你~除了一些好看精美的PPT模板之外,这个网站还免费提供Excel模板和PPT音效素材下载,各种办公资源应有尽有,感兴趣的朋友可以去网站逛一逛。

5.资源猫

资源猫是一个资源整合的网站,简单来说,这里更像是一个网站的导航,你可以在这里直接找到你想要的资源类别,例如喜欢看书的可以查找阅读网,各种各样的阅读网站足以让你烟花缭乱,找资源,一个网站就够了。

好啦~以上就是今天要介绍的资源网站了,感兴趣的可以自己搜搜看~如果你还有别的更有用的资源网站,欢迎在评论里留言!笔芯哟!

欢看电影的朋友有福了,今天分享一款专属私人影院网站源码,自己的电脑就能看大片!再也不用为找片发愁了,因为涉及到版权问题,这里提醒大家不要违规搭建分享,自己看就好了。

下面是截图和使用方法

使用方法

1.下载安装软件phpStudy:http://phpstudy.php.cn/phpstudy/PhpStudy20180211.zip

phpstudy使用说明教程:http://www.php.cn/phpstudy-377909.html

2.下载源码解压放到phpstudy(网站根目录)WWW目录下进行安装:

3.浏览器地址栏访问http://localhost/install

数据库名称:test

数据库用户名和密码:root

其他配置项默认

4.安装完成后访问后台登录:http://localhost/admin

默认密码账号都是:admin

请务必登录后台设置替换域名,否则网站没法观看!

如下图:修改域名为http://localhost/后底部点击提交保存即可。

5.打开你的任意浏览器,输入地址访问http://localhost/就可以观看电影了!

此开源版本更新内容:

主文件大型修复文件(更新修复影视、综艺频道不能播放,展示问题、修复采集360规则更新

修复综艺,动漫更新,加入美化阴影CSS效果)

米酷模板新增加功能采集插件:

1.大量尝鲜影视资源网整合采集,加入m3u8视频快速解析插件

2.增加酷狗MV视频采集

3.音悦台MV视频采集

4.YY视频采集

5.播放页优化,提示说明

6.修复更新内置手动采集资源尝鲜api

修复手动采集尝鲜不自动播放问题

7.站外资源搜索影片优化

8.电视直播优化,可打开文件添加其他播放源,文件(zhibo.php)

9.更新搞笑娱乐小视频采集,其他功能采集插件简单优化修复

10.请登录后台设置,点击基本设置,关闭手机版,可体验最新功能,默认为米酷模板,其他模板没有功能体验

###后台资源采集片源请选用m3u8或mp4后缀音频,可增加片源,但不支持直链片源,因增加了m3u8解析,加速播放!具体查看后台样式设置!

###二维码图片替换(images/ew.png 、images/ewm.png)

###MKCMS模板默认背景图片路径文件(style/bg.jpg)可打开更换背景图

源码搭建推荐 LINUX系统 SQL5以上 php5.4 Apache或Nginx

1、PHP+MYSQL架构

2、自动采集VIP影视,VIP电影免费看

3、视频管理系统,可自主采集添加视频分类及视频

5、会员管理系统,可自定义分组,可设置会员级别价格,一键生成卡密,支持批量功能

6、广告管理系统,支持多布局广告位

7、电脑手机自适应,可生成APP,附赠APP一键生成软件安卓版

8、内置多条播放接口

9、友情链接链接系统

10、热门视频排行榜

11、支持页面缓存

12、SEO系统,后台轻松设置SEO

13、对接微信公众号,实现微信直接看电影

14、首页幻灯轮播

15、支持生成页面二维码,扫码手机观看

提示:本套影视源码建议空间切换PHP版本5.4至5.6(建议PHP版本设置5.4或5.5)

基于米酷5.0版本(二次开发品优)

源码下载地址

https://www.lanzous.com/i3x0msb 密码:hu9z