TCPDF 创建 PDF 耗时太长,此时如何显示加载效果

Posted

技术标签:

【中文标题】TCPDF 创建 PDF 耗时太长,此时如何显示加载效果【英文标题】:TCPDF Takes too much time for creating PDF, How to show loading effect in this time 【发布时间】:2015-05-27 12:57:31 【问题描述】:

我有一个锚标记,带有指向页面的 href,它将使用 TCPDF 生成 PDF。生成 PDF 需要花费太多时间。同时界面页面保持不变,它在浏览器标题栏顶部显示一个加载图标。如何在界面上显示一个加载器,下载完成后这个加载器需要消失。

提前致谢。

【问题讨论】:

这也是我的问题,还在寻找解决方案 【参考方案1】:

这里有一些东西可以帮助您入门。

html

<a id="loadPDF" href="#">Get PDF</a>

JS:

// When link is clicked show loading indicator
$('#loadPDF').on("click", function () 

    // Save element
    var link = $(this);

    // Insert loading indicator after link
    link.after("<span> Loading...</p>");

    // Hide indicator after 2 seconds
    setTimeout(function() link.next().hide(); , 2000);
);

您可以将“正在加载...”替换为动画 gif。如果你想变得更漂亮,你可以查找一些代码,使加载指示器跟随鼠标移动。至于在 PDF 加载后删除加载指示器有点棘手。在示例中,我让它在 2 秒后消失。

示例:JSFiddle

【讨论】:

感谢您的回答,事实上这并不能解决我的问题。加载效果消失的时间不是预先确定的,它可以是 4 秒到 160 秒之间的任何持续时间。这是基于需要在 PDF 上写入的动态内容大小。 PDF 是否在新窗口/标签页中打开? 不,pdf在同一页面打开。 @Adam:当 PDF 显示在新标签页中时,您对显示加载页面的策略有何建议?

以上是关于TCPDF 创建 PDF 耗时太长,此时如何显示加载效果的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP(ghostscript) 将 PDF 转换为图像耗时太长

使用tcpdf时如何以html格式编写条形码

TCPDF:为啥即使单击不同单元格的按钮,“生成 pdf”按钮也会显示相同的数据?

如何在 TCPDF 中实现自定义字体

TCPDF UTF-8 符号未显示

如何使用CakePdf创建和下载PDF,而不是在浏览器中显示它