输出完成后重定向并保存文件(不知道如何知道大PDF完全保存的时间)

时间:2013-05-18 12:56:52

标签: tcpdf

我使用PDF生成PDF,然后将其保存到服务器,如下所示:

$fp = fopen( '$createdId.'.pdf', 'wb' ); fwrite( $fp, $pdf->Output('example_009.pdf', 'S')); fclose( $fp );

用户将在我们的网站上设计一些东西,然后转到调用上面代码的php页面,然后我希望他们重定向到购物车,以便他们可以结账。

使用

jQuery(document).ready(function() {redirect() })

在重定向之前似乎没有等待PDF完全完成。我尝试将一个大图像嵌入到pdf中进行测试......我还试着直接离开页面以确保输出和保存实际上并不是在离开页面后的幕后发生的。

在PDF完全创建并保存到服务器之前,我应该如何确保页面不被重定向?

谢谢,

概述我正在做什么 - 例如构建pdf obj,输出pdf obj然后希望在pdf完成后重定向页面

// INIT PDF OBJ $ pdf2 =新的TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMAT,true,'UTF-8',false);

// SET DEFAULTS setPDFDefaults($ pdf2,$ PL,$分辨率);

// ADD BG addBackground($ pdf2,$ templated,$ bannerInfo ['backgroundColour'],$ marginTop,$ bleedTop,$ bleedBottom,$ bleedLeft,$ bleedRight,$ bannerWidth,$ bannerHeight,$ this);

//通过图像和文本对象循环并添加到PDF OBJ drawObjects($ pdf2,$ JSON,$图像,$ sizeRatio,$ countBG,$ marginTop,$ bleedTop,$ margLeft,$此,$ debugga);

 $fp = fopen( '/homepages/40/d449000017/htdocs/BannerPlanetMagento/js/bannercreator/savedBanners/'.$nSize.'/customer/banner'.$createdId.'.pdf', 'wb' ); 
 fwrite( $fp, $pdf->Output('example_009.pdf', 'S')); 
 fclose( $fp );

 $fpCustomer = fopen( '/homepages/40/d449000017/htdocs/BannerPlanetMagento/js/bannercreator/savedBanners/'.$nSize.'/print/banner'.$createdId.'_print.pdf', 'wb' ); 
 fwrite( $fpCustomer, $pdf2->Output('example_009.pdf', 'S')); 
 fclose( $fpCustomer );

var target = document.getElementById('loading-spinner'); var spinner = new Spinner(opts).spin(target);

jQuery(document).ready(function($){

// performRedirectAction()

});

1 个答案:

答案 0 :(得分:0)

嗯,我遇到了类似的问题,因此我解决了这种问题,使生成pdf的呼叫打开了一个新标签。 一旦进行了调用,就无法重用,这可以防止您的代码被无数次使用。 但是,除了使用类似于我的解决方案之外,您想要什么还是以exit()结尾还是别无选择。 没有人知道如何解决这个问题,我没有解决。