如何延迟pdf扫描,直到页面加载完全pdfcrowd api在php
How to delay the pdf scan until page loads completely pdfcrowd api in php?
我使用pdfcrowd API从我的动态PHP网页生成PDF,其中我从DB获得一些数据,并且还运行一些jQuery函数与setTimeout
函数在页面底部有2到3秒延迟在jQuery的文档准备功能。
这个jQuery函数我使用轻量级响应式jQuery -瀑布插件来动态设置页面布局高度,这需要一些时间来完成。
所以,当我尝试下载PDF时,它下载页面而不运行我的JavaScript/jQuery函数,这延迟了大约2到3秒。
我正在使用的代码细节:
我的网页代码看起来像这样:
//HTML + PHP code here at top of page
//jQuery code to set page height dynamically
function setContainerHeight(containerDiv) {
//function code here..
}
$(document).ready(function() {
setTimeout(
function() {
$(containerDiv).waterfall({gridWidth:[0,500,1000,1500,2000],gap:10});
setTimeout(function() {setContainerHeight(containerDiv);},2000);
},1000
);
});
下载页面
$client->setPageLayout(Pdfcrowd::CONTINUOUS);
$pdf = $client->convertURI($myWebPageUrl);
// Set HTTP response headers
header("Content-Type: application/pdf");
header("Cache-Control: no-cache");
header("Accept-Ranges: none");
header("Content-Disposition: attachment; filename='"Resume.pdf'"");
// send the generated PDF
echo $pdf;
请帮助我,我如何才能延迟PDF扫描,直到我的页面完全加载。
既然你不能保持网页渲染,因为你的JavaScript
函数在页面加载后运行,使用setTimeout
,你应该做任何需要的页面加载。
所以,你应该在插件工作完成后尝试调用你的函数setContainerHeight()
,这意味着你应该尝试回调插件的函数。
并记住删除setTimeout
,因为它们将不需要,使用回调函数后。此外,如果你的插件没有回调,那么你应该注意从插件文件中调用你的函数,虽然这不是正确的方法,但它应该可以做到。
在您的情况下,您应该在您的waterfall
API中搜索名为sorting
的函数,并在最后添加您的函数调用。
希望这对你有帮助…!!
你的问题并没有澄清问题到底是什么,可能是javascript不知道何时PDF文件已完全加载的问题,你可以通过ajax调用调用它吗?如果你要将PDF加载到IFrame中,你可以这样做:
$("#iFrameId").on("load", function () {
$(containerDiv).waterfall({gridWidth:[0,500,1000,1500,2000],gap:10});
});
如果问题是在php中,可能是PDF的输出被api减慢了,你可以停止输出缓冲区,直到处理完成:
ob_start(); //at the begining
//Your code until echo
ob_end_flush(); //at the end
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用javascript在Flash中加载外部图像
- Ajax文件加载和<输入>文件加载
- 使用javascript函数在页面初始化后加载jquery
- 如何延迟pdf扫描,直到页面加载完全pdfcrowd api在php