【问题标题】:TypeError while generating pdf with pdfmake使用 pdfmake 生成 pdf 时出现 TypeError
【发布时间】:2018-08-09 22:42:38
【问题描述】:

这是我的代码:

<script type="text/javascript">
var url = 'localhost:8080/chartGenerator';
 function myFunction() {
 var docDef={ content: [
    'This is an sample PDF printed with pdfMake',
    {
        image: getBinaryResource(url)
    }
    ]


}
 pdfMake.createPdf(docDef).download('optionalName.pdf');
}

function getBinaryResource(url){
     var req = new XMLHttpRequest();
    req.open("GET", url, false);
    req.overrideMimeType('text/plain; charset=x-user-defined');

    req.send(null);
    if (req.status == 200) {
        return req.responseText.replace(/^data:image\/(png|jpg);base64,/, "");
    } else return null

}

</script>

我需要使用从服务器获取的图像生成 pdf 文档,但出现以下错误:TypeError: r is undefined.

你能帮我解决这个问题吗?

【问题讨论】:

  • 能否展示您从 getBinaryResource(url) 返回的内容,并在创建 PDF 之前检查您的 docDef 以查看其外观?
  • @AndréKool pastebin.com/tFUMBJm5
  • 删除 ".replace(/^data:image\/(png|jpg);base64,/, "");"在您的代码中,您实际上需要该部分,以便 pdfmake 可以将其识别为 base64 图像格式。我希望能解决它。

标签: javascript pdfmake


【解决方案1】:

正如@AndréKool 指出的那样删除 ".replace(/^data:image/(png|jpg);base64,/, "");"解决了。

这部分是必需的,因此 pdfmake 可以将其识别为 base64 图像格式。

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 2016-03-07
    • 2015-02-07
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 2023-02-25
    • 1970-01-01
    相关资源
    最近更新 更多