下面是一个div块:
我用html2canvas把这个div生成了图片,然后用jspdf把图片保存成pdf格式。
现在的问题是html2canvas把div生成图片时DIV里面的图片没有显示,这图片是需要单独处理吗?有遇到过这问题的没?
下面是代码:
<div id="printContent" class="printContent"> <Histology :isPrint="isPrint" ref="childRef" /> </div>
const printHandle = async () => { console.log('打印') console.log('生成pdf') isPrint.value = true setTimeout(async () => { const content = document.getElementById('printContent') if (content) { const canvas = await html2canvas(content, { scale: 2 }) const imgData = canvas.toDataURL('image/png') const pdf = new jsPDF('p', 'mm', 'a4') const imgProps = pdf.getImageProperties(imgData) const pdfWidth = pdf.internal.pageSize.getWidth() const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight) // 将PDF输出为Blob对象 const pdfBlob = pdf.output('blob') // 创建一个链接元素并设置其属性 const downloadLink = document.createElement('a') downloadLink.href = URL.createObjectURL(pdfBlob) downloadLink.download = 'document.pdf' // 设置下载的文件名 // 触发点击事件以开始下载 document.body.appendChild(downloadLink) downloadLink.click() document.body.removeChild(downloadLink) // 之后可以移除链接元素 isPrint.value = false } }, 500)}
看看生成图片的结构图
控制台没有报错吗,大概率是图片跨域了,前台需要设置下跨域请求(前提是资源支持跨域)
https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/img...
我面临着将图片放入div的问题。基本上div是卡片的标题。图片的方向和大小不同。我应该怎么做才能让他们适应? 照片在div
html2canvas生成图片时,原HTML的图片被放大
本文向大家介绍怎么让div中的图片和文字同时上下居中?相关面试题,主要包含被问及怎么让div中的图片和文字同时上下居中?时的应答技巧和注意事项,需要的朋友参考一下 给 img 设置 并且 只对行内元素,还有表格内的单元格有效,对块级元素的垂直居中是没有任何效果的 MDN 文档说明
问题内容: 我在div()中有一个,并且我希望此图像恰好位于div的中间,但是我尝试的任何方法都无效 谢谢你的帮助! 问题答案: 此处发布的每个解决方案都假定您知道的尺寸, 这不是常见的情况。 同样,将尺寸植入解决方案中也是痛苦的。 只需设置: 要么 就这样。 请注意,您还必须为external设置一个缩写。
问题内容: 我希望一个html图像与div标签的底部齐平。我似乎找不到解决此问题的方法。 这是我的HTML: 问题是div嵌套在具有填充或边距的其他div中。 问题答案: 在包装的div标签上添加相对位置,然后将图像绝对定位在其中,如下所示: CSS: HTML: 现在,图像位于div的底部。
然后片段显示了在AR环境中添加3D模型时,相机正在查看的内容。以下是我保存图片的方法: } 私人乐趣takePicture(){val filename=generateFilename()val view=arFragment.arSceneView