我想抓住我的网页,为了这个我发现html2canvas,当我使用如下所示时,我的UTF-8(波斯语)字符陷入困境,这个方向被破坏了。
HTML:
<div id="wrapper">
<span>این کاراکتر ها بهم میریزند</span>
</div>
JavaScript的:
$(document).ready(function() {
html2canvas($("#wrapper"), {
onrendered: function (canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
canvas.toBlob(function (blob) {
saveAs(blob, "Dashboard.png");
});
}
});
});
网页:
通过html2canvas捕获WebPage:
你可以看到完整的例子here
我的实施有什么问题?
这是html2canvas(Arabic Encoding with html2canvas)的一个错误,可以通过在包装器元素上设置text-align: left
来修复。
这是一个更新的小提琴http://jsfiddle.net/ydeL72m8/1/
而不是html2canvas.js文件中的句子
textList = (!options.letterRendering && /^(left|right|justify|auto)$/.test(textAlign) && noLetterSpacing(getCSS(el, "letterSpacing"))) ? textNode.nodeValue.split(/(\b| )/) : textNode.nodeValue.split("");
使用:
textList = (!options.letterRendering && /^(left|right|justify|auto|center)$/.test(textAlign) && noLetterSpacing(getCSS(el, "letterSpacing"))) ? textNode.nodeValue.split(/(\b| )/) : textNode.nodeValue.split("");