背景 今天在进行后台文章编辑时: 为方便文章的下载,建议在进行富文本的添加、修改时,可在规定目录下对应生成 PDF文件; 网上搜索发现,mPDF 是一个成熟的工具,也避免再造轮子咯 下面将应用于...ThinkPHP5 框架下的过程介绍下,方便道友借鉴 操作环境 PHP版本: 7.0.12 TP框架: ThinkPHP5.1.2 mpdf版本: v7.0.1 详细介绍及操作,注意参考 :mPDF...首先建议下载对应的版本包 【mpdf 扩展包链接】 以我为例,根据我的PHP版本,从版本库中找一个可支持的 mpdf 版本即可,鄙人选择的是 v7.0.1,那么对应的命令为: composer require...对于 Linux/Nginx 环境下,需要更改 mpdf 目录下的写权限 (“src/”、“tmp/”、“ttfonts/”) 为了方便,鄙人直接使用了如下命令: chmod -R 777 vendor...附录 1.mPDF - 临时文件目录…不可写 2.推荐文章——mPDF的简单使用 毕竟 mPDF 集成的内容是很丰富的,可以根据自己的需求进行扩展; 比如:水印,页眉页脚设置,标题等等…
前两天在做一个pdf导出功能,使用的插件是kartik-v/yii2-mpdf,此插件使用的是mpdf composer required kartik-v/yii2-mpdf mpdf文档地址: https...://mpdf.github.io/ 有一个需求要求导出的pdf中需要将一个指定的字段设置为一个指定的字体,其他的信息不使用此字体 刚开始我直接将mpdf的fontdata加上我需要加上的字体文件 //...,原来这是全局配置字体 那么我又想到我配置一个无需要使用的字体,然后在页面上引用不就行了吗 于是我配置了一个字体: 'fontdata' = ArrayHelper::merge($fontData,...[ 'my' = [ 'R' = 'my.ttf', ], ]), 配置之后在我们需要生成的pdf的文件中加上如下属性 style="font-family: my;" 加上之后进行测试...'my' = [ 'R' = 'my.ttf', ], ]), 配置完成之后发现没有作用,于是在需要生成的pdf文件中引入全局字体样式 body { font-family: sun-exta
问题现象 在使用Windows Server 2012 做为你的虚拟化Hypervisor时,如果虚拟机里面再启用可故障转移群集,虚拟机中的群集运行一段时间可能会出现某个节点宕机,提示网络无法通信的情况...,或者虚拟机中在创建群集的时候出现无法创建的情况,经查证发现此现象为微软的一个bug ?...解决方法 登录到所有的Hyper-V宿主机,将所有网卡的“Microsoft Failover Cluster Virtual Adapter”的勾去掉 ?...具体批量去掉可参考微软的官方KBhttp://support.microsoft.com/kb/2872325/en-us
在开发导出 PDF 时,选择了使用mPDF,mPDF 是一个 PHP 库,它从 UTF-8 编码的 HTML 生成 PDF 文件。...而它的使用也相对简单: 安装 使用composer加载 composer require mpdf/mpdf 使用 <?php require_once __DIR__ ....'); $mpdf->Output(); 但是在实际使用时会遇到中文和符号乱码(变成了小方块)的问题,最开始会想到是字体的问题,但是指定了字体后,并没有解决问题。...mpdf中文和符号乱码 查看了文档后发现需要指定两个参数: $this->pdf = new Mpdf([ 'autoScriptToLang' => true, 'autoLangToFont...' => true, ]); 刷新页面,发现中文此时已经可以正常显示了 mpdf中文正常,符号依旧是方块 但是当中文的标点符号靠近英文的时候,中文符号就又会变回小方块。
分享给大家供大家参考,具体如下: 安装mPDF 使用 Composer安装 在yii2的 ‘composer.json’ 加入”mpdf/mpdf”:”*” "require": { "php":.../mpdf":"*" }, 然后更新 composer update 或使用 php composer.phar require mpdf/mpdf "dev-master" 或下载安装包 下载mpdf...的地址 ‘https://github.com/mpdf/mpdf’....下载压缩包 解压到vendor/mpdf mPDF In Yii2.0 在这个文件中 ‘vendor/composer/autoload_namespaces.php’ file 加入 'mPDF' =...'/mpdf/mpdf'), 或者在common/bootstrap.php文件里加入mpdf类文件路径 例如: //引用自定义类方法 Yii::$classMap['mPDF'] = '@common
在安装mPDF之前,需要使用以下命令安装PHP的命令行解释器和解压缩实用程序: sudo apt-get install php5-cli unzip 接下来,下载mPDF,将其解压缩到/var/www.../目录中: sudo wget http://mpdf1.com/repos/MPDF60.zip sudo unzip MPDF60.zip -d /var/www/ 该文件非常大,因此下载可能需要一些时间...您需要重新输入以进行确认。 注意:在安全的地方记下密码。您将在步骤5 - 创建书型实例中再次使用它。 然后创建一个名为booktype-db的数据库,设置booktype-user为所有者。...使用您之前创建的超级用户帐户详细信息登录Booktype(在我们的示例中是admin)。...登录后,与超级用户电子邮件地址关联的gravatar(如果有)将显示在“ 人员”和“ 我的个人资料”框中。 第7步 - 与主管一起运行芹菜 Celery是Booktype服务器使用的任务队列。
在快速浏览了它们的文档后,最终我确定在该项目中使用的为mPDF库。 识别mPDF中的安全问题 我们立刻制作了一个mPDF的本地副本,以便检查它是否存在安全漏洞。...最好的起点是CHANGELOG,开发人员通常使用该文件来跟踪版本之间的变化。 ? 可以看到在2017年10月19日,mPDF改变了他们处理注释标签的方式。因此,让我们仔细查看文档中的该标签。 ?...在阅读了h0ng10的漏洞报告后我们得知,在旧版本的mPDF存在严重的安全问题,攻击者能够通过注释标记包含文件。 仔细查看该项目的Github提交后,我发现其中展示的一段易受攻击的mPDF代码。...而其使用的PDF库包含了一个隐藏功能,即允许通过在模板中添加特定标记将文件嵌入到PDF中。该功能已在其最新版本中禁用,而IKEA却未进行及时的更新,因此才导致了安全问题的发生。...修复建议 绝不要允许用户操纵PDF模板 在客户端渲染包含购物清单的PDF,例如使用jsPDF 更新到最新版本的mPDF库,禁用注释代码 报告时间线 2018.6.16 发现此漏洞,通过Zerecopter
近期公司有个项目,需要将一套AIX上的rac 11g,迁移到华为云上,数据量大概4T,停机时间2小时,目前最大问题是本地磁盘空间不足。...对于OGG来说,OGG初始化需要导出和导入,仍然需要临时的本地磁盘空间,当时把该方案直接pass掉了,后来回头想想,似乎可以使用network_link来解决这个问题。...在expdp中使用network_link选项时,会将文件直接导出到目标端的相关路径中。...5、impdp使用network_link 如果想不生成dmp文件而直接将需要的数据导入到target数据库,那么还可以直接使用impdp+network_link选项 ,这样就可以直接将源库的数据迁移到目标库中...5.3、总结 不生成数据文件而直径导入的方法类似于在目标库中执行create table xxx as select * from xxx@dblink ,不过impdp+nework_link一并将数据及其索引触发器等都导入到了目标端
在使用tp6自带的验证码遇到的坑,也去网上找了资料但是还是没能解决,自己通过另一种方式实现的,接下来就来讲一下不能显示captcha的方法 首先安装captcha验证码 composer require...>{:captcha_img()} 或 都可以,但是小编这两种都不能使用 接下来小编就讲如何解决这个...·问题 首先在app下创建个目录能访问就行小编这里用的是controller目录 image.png 接下里就是路由,在router/app.php中创建路由 Route::get("verify...","/home/verify"); 接下来继续找到安装的captcha 在vendor/topthink/think-captcha/helper.php 找到captcha_img 方法只需要将...$src修改为如下 $src = '/home/verify'; 然后返回到模板界面调用我们设置好的路由 这里我们可以看到验证码可以调用了
本文适合适合对canvas绘制、图形学、前端可视化感兴趣的读者阅读。 楔子 所有的事情都会有一个起因。 最近产品上需要做一个这样的功能:给一些图形进行染色处理。...没多久,小伙伴说,第二种算法在firefox下不起作用。 探索原因 听说有bug,心中一惊。我测试过了的,FireFox下面也测试过的。于是我打开火狐浏览器,启动示例,发现是好的,没有问题。...通过一起排查,最终发现我的示例代码和产品中代码的一个区别是:示例代码用的是png图片,而产品中用的是svg图片。 难道是svg图片的问题,拿一个svg图片放到示例代码中,果然不对。...在其他浏览器中,以下代码中是生效的,又挖空的效果。...但是在 在FireFox 下不生效: function init() { var canvas = document.getElementById
上面的图片列表中,你点一下旁边的减号就会在不需要刷新当前页面的情况下不光从网页页面上删除图片,也会从服务器端删除该图片,看看我们的核心处理代码吧: 首先是客户端的js代码: function delrow...{ var div=$(o).parent().parent(); var id=div.attr('id'); $.ajax({ type:"POST", data:{id:id}, url:"{:url...'); $gphotos=$gphoto- find($id); $ogPhoto=IMG_UPLOADS....$gphotos['og_photo']; $bigPhoto=IMG_UPLOADS.$gphotos['big_photo']; $midPhoto=IMG_UPLOADS....$gphotos['mid_photo']; $smPhoto=IMG_UPLOADS.
首先声明:由于backgroundColor的值采用的是RGBA,IE8及以下不支持,所以此效果不支持IE8及以下的浏览器 此效果采用的RGBA做的透明渐变,所以CSS样式中的backgroundColor... <img src="images...浏览器; 550是滚动条到达位置的最终透明度,此处根据需要自定义; CSS终背景颜色的RGBA的A是最终透明度 demo效果
在下面的例子中,同样的按钮在 Chrome 和 Safari 中,后者添加了默认的灰色背景。 ?...在移动设备上,浏览器会显示一个水平滚动条。 ? 解决方法就是使用 flex-wrap: wrap,这样当水平空间不够时,浏览器会帮我们自动换行。...和auto-fill之间的差异的误解 在CSS grid中,repeat函数可以创建响应列布局,而不需要使用媒体查询。...在下面的示例中,每个项目的右侧都有8px的空间,但是由于使用display:inline-block导致增加了一个空格,最后结果是12px,这不是期望的结果。 ?...它们在默认情况下不会继承,因为浏览器将默认系统字体应用于它们。
但是最近客户又有了新需求,因为我们在之前的文章中通过扩展图层来实现图片添加后,如果图片中某一处的信息比较丰富,在地图缩放的一瞬间如果我们拖动地图的话,那部分的图片会有卡顿。...那这样一来,在图片上信息比较丰富的地方绘制的时候就比较慢,肯定会有一丢丢的卡顿,尽管后期使用双缓冲技术也没有得到优化,所以这篇文章我们采用另一种方式来实现地图叠加图片。...2、这篇文章直接使用img标签来做,原理很简单,我们直接在地图渲染的canvas标签处另外添加一个img标签,然后通过监听地图的视图区域变化来动态改变图片大小和位置即可。...id="viewDiv"> 4、然后我们在地图初始化完成之后获取地图渲染的标签,在它同级的地方添加一个img标签,并指定一些属性,如下: var resultDom...,需要我们为这个img标签指定样式才可以看到我们添加后的图片,所以接下来我们直接监听地图的视图变化,在这里面为其指定样式和相应的位置: let extent = { //图片的范围 xmin
一、keyframes的使用方法 keyframes是css3实现动画的一种方式。...简单的使用规则如下: 先定义元素的动画样式,并设置动画的名称 selector{ animation: name duration timing-function delay iteration-count...二、keyframes在不同浏览器中的表现性 IE 9以下不支持 IE10支持文字和样式动画,但不支持图片帧动画 Firefox支持文字和样式动画,不支持图片帧动画 Chrome支持各种形式的动画 下面我写了一段代码来测试...keyframes在不同浏览器中的表现性 index.html <!...在IE10中,仙鹤无动画效果,小球运动 ? 在Firefox中,仙鹤无动画效果,小球运动 ? 在Chrome中,仙鹤和小球均有运动效果,keyframes只在chrome中表现良好 ? 在线演示
生活中有很多场景都需要我们签字(签名),如果是一些不重要的场景,我们的签名好坏基本无所谓了,但如果是一些比较重要的场景,如果我们的签名比较差的话,就有可能给别人留下不太好的印象了,俗话说字如其人嘛,本文我们使用...实现的基本原理为:我们根据艺术签名网站生成签名的规则,模拟对于请求生成签名,然后将其显示在 tkinter 生成的 GUI 窗口中。...} result = requests.post(url, data=data) result.encoding = 'utf-8' html = result.text reg = '' img_path = re.findall(reg, html) # 图片完整路径 img_url = url + img_path[0] # 获取图片内容 response
第一步,HTML的布局 <img id="preview" src=".....因为无论是单张图片上传还是单张图片上传,都需要传入、上传图片的input按钮、img标签、包裹着img的div、最大的单张照片的值,单位为KB。所以这四个参数在创建上传图片对象的时候就要传入。...所以在prototype上面定义该模式以供两个方法使用: SetPreviewPic.prototype.pattern=new RegExp('\....第一种就是直接通过改变img的src来预览图片,第二种就是在低版本的IE下,通过滤镜来达到预览效果。...按钮、img标签包、裹着img的div、最大的单张照片的值,单位为KB obj.uploadSinglePic(200,250);//单张图片上传,参数分别为每张的宽度、高度
然而,我们是很难一次性查完所有的差异点再投入开发的,这里分享几个我在开发中遇到的问题,以及对应的解决方法吧。...当我设置图片标签的 src 的时候, IE 浏览器自动将原图片的宽、高设置成了 的属性,这样导致我使用 CSS 只设置宽度为 1200px 而没有设置高的时候, 的生效高度便是原图的高度...2)IE 下 8 位色值不生效 在之前的开发中,我都习惯了使用 6 位色值,也不曾出现过问题,直到有一次,运营同学反馈在组件配置平台下选中了某个颜色,却一直不生效,通过排查问题,才发现了原来输出的色值是...如果实在需要不透明度,我们可以使用 rgba 的格式,用最后一位值来实现透明度,如 background-color: rgba(255,0,0,0.3),即使在 IE9 上也可以表现良好。 ?...Html 中需要对原始 标签进行宽度和高度的显式设置,才能保证 中有准确的宽高。代码如下。
图片 侧边栏的作用应该就不用多说了吧,能够很方便我们回到网页的指定位置,在大屏设备中,侧边栏往往是悬浮于屏幕右侧,很方便用户的使用,但在小屏设备中,屏幕空间有限,所以我们会通过隐藏侧边栏的方式,来节省视口空间的使用...我们先来看下,在大屏设备中,侧边栏如何显示,继而再讲述,从大屏设备切换到小屏设备,侧边栏如何隐藏,国际惯例,先看 HTML 结构代码 <img src="img/...如笔记本电脑,屏幕空间有限,我们通常选择将侧边栏进行隐藏,只有在浏览者需要用到侧边栏中的时候,再将侧边栏显示出来,在宽度小于等于 1410 px 的设备中,侧边栏将会在屏幕右侧进行隐藏,并会出现一个提示图片...,源码我已经发到了 GitHub Source_code 上了,有需要的同学可自行下载,预览效果可点击 effect
领取专属 10元无门槛券
手把手带您无忧上云