问题标签 [dom-to-image]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
41 浏览

html2canvas - Reactquill 转换成图片

在我的项目中,我需要将 ReactQuill 的视图导出为图像。它应该尽可能像素完美。

该项目的后端服务器是php。

我仍然不确定该怎么做。这些是必需的步骤:

  1. 将 Quill 转换为 html
  2. 将html转换为图像
  3. 保存图片。

对于#1,我尝试在服务器上使用 DBlackborough\Quill,但它的样式未正确呈现。目前我在浏览器上使用 quill-delta-to-html

对于#2,在服务器上我尝试了 Spatie\Browsershot,它需要在服务器上安装 chrome,这可能会导致问题。所以目前我正在处理 html2canvas 和 dom-to-image,但两者都不能正确呈现样式。

例如,这个 Quill:

使用此代码:

转换为以下html:

这对我来说看起来不错。但是在渲染时,所有的文本对齐都被忽略了:

文本对齐中心被忽略

这是使用的 html 到画布。dom-to-image 有类似的结果。

更新

我对 Browsershot 的问题是这个错误:

这个问题是因为服务器作为 www-data 运行,而 node 只为 root 用户安装

我检查了一下,Browsershot 生成的图像样式正确。但是,我仍然很想知道我是否可以在客户端进行转换。

0 投票
0 回答
20 浏览

html - 将网页的一部分下载为具有相同设计的桌面和移动设备图像

我正在使用dom-to-image库,因此每当用户单击按钮时,我都想将该部分下载为图像。它在桌面上运行良好。但是,在移动设备中,图像正在像响应式移动设计一样下载。在移动视图上,它应该像在桌面视图中一样下载图像。一旦用户单击按钮,我尝试将视口更改为 1500px,然后将图像下载为桌面版本,完成后恢复为移动响应式设计,但我不希望这样。

0 投票
0 回答
49 浏览

javascript - html 到超过 100 个 div 的图像失败

我正在使用 html-to-image 库将 div 元素转换为图像,这对于单个 div 工作正常,但是如果我将它用于 for 循环中的 div 则它会中断

我想转换图像中的每个正面和背面模板。所以我在 ts 文件中编写了以下代码

这适用于最多 10 到 15 条记录,但模板大小超过 15 则应用程序挂起(或崩溃)。对于 10-15 条记录也需要 15 分钟(这很慢)有没有更好的方法让它工作?

0 投票
1 回答
26 浏览

javascript - 当 dom 中存在外部图像链接时反应 dom-to-image 错误

我想将 dom 保存为图像,当 dom 中没有外部图像链接时,我使用了 dom-to-image 它可以工作

域到图像

在此处输入图像描述

这个作品

在此处输入图像描述

它保存了图像

在此处输入图像描述

但是当我添加一个带有外部链接的图像标签时

在此处输入图像描述

它抛出一个错误

在此处输入图像描述

0 投票
0 回答
43 浏览

reactjs - 在离子反应应用程序(打字稿)中使用 dom-to-image -“未捕获的 TypeError:无法读取未定义的属性(读取 'toPng')”

在我的应用程序中调用以下函数时,我收到标题中的错误。

我安装了图书馆

npm install dom-to-image

然后运行以下命令以添加将库与 typescript 一起使用所需的类型

npm i --save-dev @types/dom-to-image-more

容器的 console.log 正确输出了我期望的 HTML。

VSCode 中没有显示错误,intellisense 可以找到 DomToImage 和 toPng 的接口

如果有帮助,这是完整的错误

知道我哪里出错了吗?我不明白“ToPng”是如何被定义的。谢谢!

0 投票
0 回答
20 浏览

javascript - 有没有办法避免 dom-to-image 错误“HTMLCanvasElement”:可能无法导出受污染的画布

我正在使用https://cdnjs.com/libraries/dom-to-image截取图表,然后将其发送到我的后端服务器。整个过程在本地运行良好,但在部署到 AWS ec2 实例时出现错误 Uncaught (in promise) DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

我提出这个问题的代码的具体行是

阅读一轮显示了一个像设置这样的解决方案,crossOrigin="anonymous"但我不确定在这种情况下我应该在哪里设置它。

0 投票
0 回答
11 浏览

javascript - leafletjs easyPrint Plugin 受污染的画布可能无法导出

我想使用easyPrint传单插件(从这里:http ://rowanwins.github.io/leaflet-easyPrint/ )将地图导出到图像。所有人都说这是最好的并且会起作用,但我必须努力解决以下错误消息:

似乎我是唯一有这个问题的人。我的代码就像示例一样非常简单。

来自https://tile.openstreetmap.org的瓷砖

像这样打印:

有没有人有一点帮助?

0 投票
0 回答
20 浏览

javascript - 使用 dom2image 时如何修复 cssRules 错误

嘿伙计们,当我按下下载按钮时,我正在使用 domToImage 库在 React 中下载图像,它工作正常,并且它在控制台中显示此消息 从https://fonts.googleapis.com/css2读取 CSS 规则时出错? family=Spline+Sans&display=swap SecurityError:无法从“CSSStyleSheet”读取“cssRules”属性:无法访问 任何知道如何解决此问题的规则?

0 投票
0 回答
25 浏览

javascript - 从 html 元素生成图像

我正在尝试从包含一些图表的 div 中获取 img。不幸的是,生成的图像似乎是随机损坏的。

我正在使用chart.js 来绘制图表,并且我尝试了dom-to-image 和html-to-image,结果相同。我也尝试过 html2canvas,但它对我来说似乎太慢了(12 秒让我的 div 截图太多了)。这是一个 jsfiddle 测试,它给了我随机错误。 https://jsfiddle.net/q7fwm4yt/1/

单击按钮时,它会随机给我一个空白(损坏的)图像。谢谢你的帮助。