【问题标题】:pdfMake callback when export is finishedpdf导出完成时回调
【发布时间】:2015-11-30 14:59:00
【问题描述】:

有没有办法为 pdfMake 的 createPdf 函数指定回调函数?我有一个很大的vfs_fonts.js 文件,这就是我的导出速度很慢的原因。

【问题讨论】:

    标签: javascript pdfmake


    【解决方案1】:

    有一个回调函数getDataUrl:

    this.getDataUrl(function(result) {
        win.location.href = result;
    });
    

    这个函数被内置的打开、保存和打印函数使用。你可以在这里查看它们的源代码:https://github.com/bpampuch/pdfmake/blob/81de2c6a97ffb102f8c8c86ea9d7adf97e65976e/src/browser-extensions/pdfMake.js#L50

    使用这些函数,您应该能够构建自己的回调来满足您的需求。

    您可以将 getDataUrl 与类似的东西一起使用

    pdfMake.createPdf(docDefinition).getDataUrl(function(url) { alert('your pdf is done'); });
    

    您当然想要更多,因为您想为他们提供一种方法来处理已完成的 PDF。

    下载完成后添加回调:

    pdfMake.createPdf(docDefinition).download('file.pdf', function() { alert('your pdf is done'); });
    

    【讨论】:

    • 未捕获的类型错误:无法读取未定义的属性“getDataUrl”
    • 嗯,我是通过阅读源代码来完成这一切的,因为我不使用 pdfMake。您可以发布生成pdf的代码吗?像pdfMake.createPdf(docDefination).open() 这样的正常用法有用吗?另外,您使用的是什么版本的 pdfMake?
    • 抱歉回复晚了,你是对的。我想在download 函数之后调用getDataUrldownload 也有回调参数。
    • 啊,好吧,就是下载后添加的问题。你实际上很幸运,下载函数有一个回调参数。我会在我的回答中添加这个。 (只有下载有回调参数,所以你不能用这个来打开或打印。)
    • pdf下载失败怎么办?失败消息应该去哪里?或者这个回调适用于两者?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2019-03-23
    • 2018-05-16
    相关资源
    最近更新 更多