使用UTF-8字符的Html2canvas图像捕获问题

问题描述 投票:8回答:2

我想抓住我的网页,为了这个我发现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

我的实施有什么问题?

javascript html5 canvas utf-8
2个回答
4
投票

这是html2canvas(Arabic Encoding with html2canvas)的一个错误,可以通过在包装器元素上设置text-align: left来修复。

这是一个更新的小提琴http://jsfiddle.net/ydeL72m8/1/


0
投票

而不是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("");
© www.soinside.com 2019 - 2024. All rights reserved.