html2canvas 相关问题

html2canvas是一个JavaScript HTML呈现库,可让您根据DOM获取网页的“屏幕截图”。

在 HTML 画布上插入各种外部 div

目前我正在尝试创建地理空间地图的屏幕截图功能 下面我已经实现了获取地理空间地图作为屏幕截图,因为我需要从 Geospa 外部添加一些 div...

回答 1 投票 0

使用 html2canvas 进行阿拉伯语编码

我正在使用html2canvas拍摄div的图像,内容来自同一页面,同一域,但它显示阿拉伯字母断开,似乎html2canvas不支持阿拉伯语。 ...

回答 11 投票 0

网页中的iframe可以截图吗?

我正在尝试截取网页中 iframe 的屏幕截图。 在我的特定情况下,iframe 包含我的一位客户商店的街景视图。 据我搜索和阅读,我没有找到任何

回答 6 投票 0

为什么我的带有外部图像源的div下载不正确

我正在做一个项目,但我很困惑。我需要帮助。 项目概述:我正在构建一个项目,该项目接受一个网址,转到该网址,获取其中的所有图像链接

回答 1 投票 0

jsPdf 在中等屏幕(如笔记本电脑)中工作时工作正常,但从显示器屏幕下载的 pdf 未正确对齐

这是下面的代码,我使用 html2canvas 将 html 转换为 pdf 。这里的 pdf 下载在中等屏幕中按预期下载,但当从大屏幕渲染时也是如此。在pdf中很少...

回答 1 投票 0

将混合内容的 Div 作为图像复制到剪贴板

我正在尝试构建一个应用程序,在该应用程序中我需要将整个 div 作为图像复制到剪贴板。 div 可以包含嵌套的 div 和图像、svgs 等。 我已经搜索了很多,但我

回答 1 投票 0

SVG 未显示 - jsPlumb 和 html2canvas

我正在使用 jsPlumb 来显示图表。一切工作正常,当我尝试使用 html2canvas (1.0.0-rc.5) 时,问题就出现了,SVG 不会显示在图像中。这是我正在使用的代码: 有趣...

回答 1 投票 0

Html2Canvas 图像(PNG)无法在 IOS 和 Android WebView 中下载

我正在使用 html2canvas 将 html 转换为图像(PNG 文件)并触发用户设备中的下载。我已经测试过代码,在所有桌面浏览器中运行良好,但在 IOS 和 android webview 中不起作用。

回答 1 投票 0

导出的 pdf 中不显示图表

请参考以下示例: https://stackblitz.com/edit/angular-ivy-eqvhys?file=src%2Fapp%2Fapp.module.ts,src%2Fapp%2Fapp.component.html,src%2Fapp%2Fapp.component.ts,包。 json 请帮助我...

回答 1 投票 0

html2canvas 剪切左上角的图像

我的 HTML 中有一张地图,我正在使用 html2canvas 将其转换为用于打印的图像。 这是我加载页面时 HTML 中的地图: 这是我生成的图像 使用此代码 var ma...

回答 1 投票 0

HTML 使用 html2canvas 进行图片

我正在尝试使用 html2canvas 将 HTML 转换为图片。问题是阿拉伯字符没有正确转换! ...

回答 3 投票 0

在最新版本的 html2canvas 中,我遇到了阿拉伯语被错误地呈现为不可读的混乱的问题

错误报告: 我正在使用 bootstrap 4 和 Angular 11,尽管这个问题似乎与包直接相关,而不是与其中任何一个相关,但我已经尝试过: 将 css 文本对齐更改为左、右和

回答 1 投票 0

如何使用html2Canvas自动下载截图

我有一个显示图形的画布,我正在尝试使用 html2canvas() 和以下代码来截取画布的屏幕截图: 我有一个显示图形的画布,我正在尝试使用 html2canvas() 和以下代码来截取画布的屏幕截图: <div class="chartContainer" id="chart1"></div> <div id="displayCanvas" style="display:none;" class="stx-dialog"></div> html2canvas($('#chart1'),{onrendered:function(canvas1) {$('#displayCanvas').append(canvas1)}}); 这里,当加载图表容器时,它使用 id 为“displayCanvas”的 div 并附加画布的屏幕截图。 如何下载所显示画布的屏幕截图? 我已经尝试过使用如下所示的方法来下载图像: var link = document.createElement('a'); link.download = stx.chart.symbol+".png"; link.href = stx.chart.canvas.toDataURL("png"); link.click(); 但它只将画布上的数据下载为没有背景的图像(它不下载屏幕截图,只下载数据),下载后打开时显示黑屏,其中有数据。谁能帮助我如何直接下载从 html2Canvas() 截取的屏幕截图的图像? 试试这个: 在 HTML 中: 给你想要截图的元素,ID为“capture”。 提供您需要单击以获取屏幕截图的按钮/元素,ID 为“btn”。 加载 html2canvas.min.js 文件。 在 JavaScript 中: 创建 capture() 函数。 将 capture() 函数绑定到您正在使用的任何事件 - 在本例中,它位于 btn click 事件上。 完成!当您点击 btn 时,观看奇迹发生。 HTML: <h1 id="capture">Hellooooo</h1> <button id="btn">Capture</button> <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script> Javascript: function capture() { const captureElement = document.querySelector('#capture') // Select the element you want to capture. Select the <body> element to capture full page. html2canvas(captureElement) .then(canvas => { canvas.style.display = 'none' document.body.appendChild(canvas) return canvas }) .then(canvas => { const image = canvas.toDataURL('image/png') const a = document.createElement('a') a.setAttribute('download', 'my-image.png') a.setAttribute('href', image) a.click() canvas.remove() }) } const btn = document.querySelector('#btn') btn.addEventListener('click', capture) 这是 JSFiddle 💡快速提示:如果您想捕获整个文档/网页,只需将“捕获”ID 添加到 <body> 标签即可。 如果图像有黑色背景,您的图表必须在屏幕上可见。因为html2canvas就像截图一样。如果你想转换数据 到画布上,您必须确保数据出现在屏幕中。 如果有人使用 React,您可以复制以下代码: async function download() { const canvas = await html2canvas(document.querySelector("#screenshot")); canvas.style.display = "none"; document.body.appendChild(canvas); const image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); const a = document.createElement("a"); a.setAttribute("download", `info.png`); a.setAttribute("href", image); a.click(); } <a href="#" onClick={() => download()}>Download</a> 这对我有用: HTML <div id="canvasDiv"> <canvas id="canvas" height="100" width="100"> Your browser does not support the HTML canvas tag. </canvas> </div> <button onclick="screenShot()" type="button">Take a screenshot</button> Javascript function screenShot(){ html2canvas(document.querySelector("#canvasDiv")).then(canvas => { var dataURL = canvas.toDataURL( "image/png" ); var data = atob( dataURL.substring( "data:image/png;base64,".length ) ), asArray = new Uint8Array(data.length); for( var i = 0, len = data.length; i < len; ++i ) { asArray[i] = data.charCodeAt(i); } var blob = new Blob( [ asArray.buffer ], {type: "image/png"} ); saveAs(blob, "photo.png"); }); } 我刚刚使用了html2canvas网站中提供的代码,然后我使用此代码下载了屏幕截图。 https://sebastianbaiju.github.io/canvas-screenshot/ https://github.com/SebastianBaiju/canvas-screenshot/blob/new-branch/README.md 请查看此网址了解更多详情

回答 5 投票 0

CSS 过滤器属性在 html2canvas 中不起作用

我目前有一个带有图像的 div,要下载它,我使用以下代码: const handleDownloadAll = () => { const downloadPromises = [polaroidContainerRef.current].map( (

回答 1 投票 0

如何使用 html2canvas 和正确的自定义字体将 D3 图表导出为 png?

我在 Vue 3 中用 D3.js 编写了几个图表组件,并且有一个单独的组件,它是一个使用 html2canvas 将单个图表导出为 PNG 的按钮。导出工作正常,但我...

回答 1 投票 0

使用 html2canvas 截屏 MapBox 创建黑色 jpg

我设法在硬盘上保存了使用 html2canvas 通过 Google Maps API 生成的地图的屏幕截图。我现在尝试使用 MapBox API 做同样的事情,我在硬盘上得到的只是一个

回答 3 投票 0

使用html2pdf.js生成PDF时内容被截断的问题

我正在开展一个项目,需要创建用户生成的简历的 PDF 版本。简历的内容是动态的,包括经历、教育和技能等部分,这些...

回答 1 投票 0

当用户打开新选项卡而不点击扩展图标时,是否可以调用 chrome.tabs.captureVisibleTab 来截图?

我正在构建一个chrome扩展,我想实现用户打开新选项卡时可以自动截图的功能。我想在不调用扩展的情况下实现它(通过单击

回答 1 投票 0

html2canvas 向下移动文本

我正在尝试使用 html2canvas 将 转换为图像。然而,有一个问题。图 1 中用红色圆圈标记的 内的文本没有填充或任何类型的... 我正在尝试使用 html2canvas 将 <div> 转换为图像。然而,有一个问题。 <div>中用红色圆圈标记的Figure 1内的文本没有填充或任何类型的偏移引入参数。但当转换为图像时,文本上方会出现错误间隙,如Figure 2中的红色圆圈所示。我使用了 <h3>(以黑色背景标记)和 <span>(以绿色背景标记)。 Figure 1 Figure 2 为什么会这样?有办法解决这个问题吗? Tailwind CSS 在预检期间将 display 标签的 img 属性设置为 display: block;。这会在元素下方引入一个在 UI 渲染中看不到的换行符。但是,当您使用 html2canvas 将相同的 HTML 转换为图像时,会渲染换行符,从而在结果图像中添加不必要的空格。为了解决这个问题,我们可以将以下代码添加到tailwind.css文件中。 @layer base { img { @apply inline-block; } } 上面的代码应该添加到@tailwind base;行之后。这为我解决了这个问题。 这对我有用。 <style> body{ line-height: initial !important; } </style>

回答 2 投票 0

如何使用HTML2Canvas和jspdf添加图像后拆分页面

使用html2canvas和JsPDF将HTML转换为pdf并使用以下代码生成代码 这段代码会将 div 的完整 HTML 转换为单个图像,并将显示在...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.