html2canvas

Sending PDF data via email using PHPMailer and html2pdf

梦想与她 提交于 2020-04-30 06:39:07
问题 Im trying to send PDF or PNG over email and nothing seems to work. Below is my LAST attemnt, I have read every single article here on SO and nothing sees to work what is suggested, can someone please help? I am using PHPMailer, html2pdf and html2canvas, both of those produce proper documents on click, just sending them to php mailer dos not work. I am getting documents that can not be opened... Below are my last attempts... With file_get_contents method i get 0 sized data. PDF attempt: var

arcgis api for js入门开发系列二十打印地图的那些事

好久不见. 提交于 2020-04-28 08:11:04
前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图、百度地图、高德地图等,底图都是打印不出来的;这个在GIS之家群里也有很多giser问过,我一直也没抽出时间好好整理研究,碰巧一个师妹遇到这种打印问题并且解决了,于是我向她邀稿,才有这里的这篇文章。本文是‘猴妹‘师妹授权给我来发表的,介绍都是师妹的研究成果,在此,非常感谢‘猴妹‘师妹。 记录了通过ArcGIS的PringTask进行地图打印,以及借助html2canvas实现屏幕截图的方法。两个方法各有适用的情景。过程中涉及的相关资源和问题给出链接,自行查看。 1.需求背景 地图打印,这是地图应用系统的基本工具了。多数使用者都希望能够将地图,连带着查询结果、统计结果以及自己绘制的各种图形输出,将其保存到本地,以供他用。本文描述两类情况:一类是通过ArcGIS Server发布的地图服务,一类是调用其他数据源的地图切片形成的地图。 2.通过ArcGIS Server发布的地图服务 这个网上很多例子啦,官方API也有详细例子。上个链接: https://developers.arcgis.com/javascript/3/jssamples/#search/PrintTask

Vue 结合html2canvas和jsPDF实现html页面转pdf

扶醉桌前 提交于 2020-04-26 09:29:39
结合 html2canvas 和 jsPDF 实现 html 页面转 pdf By :授客 QQ : 103355122 实践环境 win10 Vue 2.9.6 axios 0.18.0 html2canvas 1.0.0-rc.3 jspdf 1.5.3 安装 html2canvas 进入vue项目所在目录,然后执行以下安装命令 cd /d E:\MyProjects\TMP\frontend E:\MyProjects\TMP\frontend>npm install html2canvas 安装jspdf 进入vue项目所在目录,然后执行以下安装命令 cd /d E:\MyProjects\TMP\frontend E:\MyProjects\TMP\frontend>npm install jspdf 编写htmlToPdf.js htmlToPdf.js文件路径,例中为src/common/utils/htmlToPdf.js import html2canvas from "html2canvas" import JsPD Ffrom "jspdf" /** * @param ele要生成 pdf 的DOM元素(容器) * @param padfName PDF文件生成后的文件名字 * */ export default { install(Vue, options)

html2canvas

折月煮酒 提交于 2020-04-11 17:17:48
现在有很多在微信里流行的h5活动页。这些小h5大部分都是简单的交互然后得出一个abcd早就拟定好的结果,根据你的选项分几种情况,最终得到其中一个作为你测试的答案。比如这个就是最后那张结果图: 当时自己做的时候,网上搜不到一个系统完整的做法讲解。这里整理一下。 ### 实现微信h5保存网页为图片 虽然基本上活动都是有事先固定好的答案,但是每个用户生成的结果还是不一样的。尤其有的需求还有用户的昵称之类。 所以,就要动态生成web网页为图片了,然后用户长按这张图片,调取微信的长按存图功能就行了。 这里只记录 最后生成截图并保存 的做法 : 一般做法是,用户选择完毕生成结果后,要有一个事件比如click提前触发,让html2canvas赶紧画图: 具体html2canvas的使用和配置,以及bug填坑之类请看这一篇:[ JS - 基于html2canvas实现 网页截图(+下载截图) 功能 ](https://www.cnblogs.com/padding1015/p/8947062.html) 这里我直接调用基于html2canvas封装好的html2img方法: 1. html2canvas生成截图 ```js html2img({ targetEleId: oCanvas, imgType: 'png', titleStr: '描述语' },false) ```

How to add padding after page break using html2pdf

半腔热情 提交于 2020-03-25 19:01:28
问题 Converting vue.js html to pdf using html2pdf. Here everything is fine, Only thing i need to add padding-top and padding-bottom after pagebreak elements. Here is code that I tried. var element = document.getElementById('inner'); var opt = { margin: 0, filename: this.auth_user, image: {type: 'jpeg',quality: 0.98}, html2canvas: { scale: 2, bottom: 20 }, pagebreak: { mode: ['css']}, jsPDF: { unit: 'mm', orientation: 'portrait' } }; html2pdf().set(opt).from(element).then(function() { $("#inner")

html2canvas 采坑

…衆ロ難τιáo~ 提交于 2020-03-09 17:39:19
1.需要将要转换成图片的区域div放置在body中,且需要display为block; 2.图片跨域的问题:将icon转换为base64 3.截图不全:新版本插件不稳定,建议 <script src="https://cdn.bootcss.com/html2canvas/0.5.0-alpha1/html2canvas.min.js"></script> 多尝试几个版本 document.querySelector("#slot").innerHTML = dom; document.querySelector("#share-module").style.display = "flex"; setTimeout(function(){ html2canvas(document.querySelector("#html2canvas"),{useCORS:true}).then(canvas => { document.querySelector("#shareImg").src=canvas.toDataURL(); document.querySelector("#slot").innerHTML = ""; }); },10); 此处的dom为要截图的区域div; 来源: https://www.cnblogs.com/changyaoself/p/12449745

微信图片生成插件,页面截图插件 html2canvas,截图失真 问题的解决方案

江枫思渺然 提交于 2020-03-08 09:52:47
html2canvas 是一个相当不错的 JavaScript 类库,它使用了 html5 和 css3 的一些新功能特性,实现了在客户端对网页进行截图的功能。html2canvas 通过获取页面的 DOM 和元素的样式信息,并将其渲染成 canvas 图片,从而实现给页面截图的功能。 官网: https://github.com/niklasvh/html2canvas 遇到的问题: 参考官方的 Demo,发现所截的图失真厉害。 解决方案: 将 canvas 的宽高放大到原容器宽高的 3 倍,参考代码如下: <html> <head> <meta name="layout" content="main"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="html2canvas.js"></script> <script type="text/javascript" src="canvas2image.js"></script> </head> <body> <div id="to-image">

web保存分享图片并保存的图片附带后端提供的地址生成的二维码Canvas画布实现

随声附和 提交于 2020-03-05 15:39:26
首先需要html2canvas 这个库: http://html2canvas.hertzen.com/ 因为前端框架是react,下载了html2canvas库后接下来上代码 import html2canvas from 'html2canvas'; import SharePoster from '@/pages/share/index'; const [shareLink, setShareLink] = useState(''); //获取后台url useEffect(() => { const fetchShareLink = async () => { try { const res = await request.get(`/api/client/lessons/lesson/share-url?lesson=${lessonID ? lessonID : ''}`) setShareLink(res.share_url) } catch (error) { toast.fail('获取分享链接失败,请刷新重试') console.log(error) } } if (token) { fetchShareLink() } }, [token]); //生成图片的方法 const saveImage = async () => { try { const

html2canvas实现页面截图并使用axios上传

删除回忆录丶 提交于 2020-03-05 08:16:15
文档: https://html2canvas.hertzen.com/ 安装 npm install --save html2canvas 1、简单实例 点击按钮截取 id=capture 的元素 < template > < div id = " capture " style =" padding : 10px ; background : #f5da55 " > < h4 style =" color : #000 ; " > Hello world! </ h4 > < button @click = " screenshots " > screenshots </ button > </ div > </ template > < script > import html2canvas from "html2canvas" ; export default { methods : { screenshots ( ) { html2canvas ( document . querySelector ( "#capture" ) ) . then ( canvas => { document . body . appendChild ( canvas ) ; } ) ; } } } ; </ script > 生成的图片可以右键保存 2、问题:截图不全

vue中将页面导出为.pdf和.html

守給你的承諾、 提交于 2020-02-26 08:33:42
vue中将页面导出为pdf 介绍 导出为.PDF 导出为.html Conclusion 介绍 如果项目中包含报表业务,通常都会有导出功能。根据不同需求导出为不同格式导出,有PDF、Excel、Word格式等…当然,导出的方法也有很多,一般都是后端导出前端直接点击下载即可,但是是不是前端就不能实现导出功能呢,也不是。这里,就在vue项目中使用已有的依赖包来实现导出功能。 导出为.PDF // step 1: 安装所需依赖包 npm i html2canvas jspdf // step 2: import Html2Canvas from 'html2canvas' import JsPdf from 'jspdf' const pageToPdf = ( id , name ) => { Html2Canvas ( document . getElementById ( id ) . getElementsByClassName ( 'el-scrollbar__view' ) [ 0 ] , { allowTaint : true , taintTest : false , height : document . getElementById ( id ) . getElementsByClassName ( 'el-scrollbar__view' ) [ 0 ] .