首页 > 解决方案 > 春季项目中 kendo.drawing.pdf.saveAs(...) 无法使用 unicode 字符生成 pdf

问题描述

我正在做一个项目,我想从 HTML 生成 pdf。我可以成功地从 HTML 生成 pdf。但问题是在 HTML 页面中显示 unicode 字符,但是当生成 pdf 时,这些 un​​icode 字符没有显示。变成了盒子。我用于生成 pdf 的 java 脚本代码是

<script>
    kendo.pdf.defineFont({
        "DejaVu Sans":
            "http://cdn.kendostatic.com/2019.1.220/styles/fonts/DejaVu/DejaVuSans.ttf",

        "DejaVu Sans|Bold":
            "http://cdn.kendostatic.com/2019.1.220/styles/fonts/DejaVu/DejaVuSans-Bold.ttf",

        "DejaVu Sans|Bold|Italic":
            "http://cdn.kendostatic.com/2019.1.220/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf",

        "DejaVu Sans|Italic":
            "http://cdn.kendostatic.com/2019.1.220/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf",
        "Kalpurush":
            "https://www.omicronlab.com/download/fonts/kalpurush.ttf",
        "SiyamRupali":
            "https://www.omicronlab.com/download/fonts/Siyamrupali.ttf"
    });
</script>

<script>
    var generatePDF = function () {
        kendo.drawing.drawDOM($("#pdfReport"), {
            avoidLinks: true,
            paperSize: "A4",
            landscape: true,
            font: "14px 'DejaVu Sans', Arial, sans-serif, Kalpurush, SiyamRupali"
        }).then(function (group) {
            kendo.drawing.pdf.saveAs(group, "Acr-Summary.pdf");
        });
    }
</script>

HTML的视图页面是

在此处输入图像描述

在这里您可以看到,在第一行的最后一列显示 unicode 字符。但是当我生成pdf时,视图变成了这样。Unicode 字符变成框。

在此处输入图像描述

我尝试了几种方法。任何帮助将不胜感激。

标签: javascriptpdfunicodekendo-uithymeleaf

解决方案


推荐阅读