预览PDF文件与TCPDF中嵌入标记Ajax调用后创建(Preview pdf file creat

2019-09-27 15:44发布

所以,我的应用程序生成使用TCPDF PDF文件,并且工作正常。 这是PHP文件中完成的,所谓的阿贾克斯。 我使用嵌入标签预览他们像:

$.ajax({
url: 'create_pdf_file.php',
success: function(){
    /* https://stackoverflow.com/questions/17083018/jquery-loads-cached-file-inside-ajax-success-function */
    $('#pdf_placeholder embed').attr('src','output/my_file.pdf?v=' + Math.random()');
   }
});

由于许多用户可以在同一时间产生my_file.pdf,有可能是当一个用户会预览其他用户生成的文件的情况下。 所以我在这一点上的问题是如何给力TCPDF直接输出到该标签,不使用临时文件

 Output('my_file','I')

阿贾克斯后不能在这里工作。 有一个建议这里呼应PDF直接回来了,但我不知道该怎么做,或者是有可能的。 无论如何将尝试success(data)接收,像JSON。

其他解决方法是为会话键文件名的每个用户,但使用的session_id()和附加到文件名是安全的? 最有可能我会与每个会话生成UID结束。

任何一般建议都欢迎。

Answer 1:

你应该尝试通过什么TCPDF将广泛应用于embeding图像的方式产生:数据乌里嵌入Base64编码图片然而,这可能遏制浏览器-我还没有进行测试。

我会在服务器上的PDF文件,打印文件名保存,而到浏览器或生成的文件的其它ID,以便它可以使用Ajax请求的“成功”被读取。 然后冷静地传递正确的文件名嵌入元素。 如果你想这样做更安全,你可以使用这样的产生密切相关与服务器上的Cookie会话cookie或数据已被使用的会话专用数据编码。 您可以结合IP PDF文件访问发送的要求来生产,并请求导致生产时间戳。



文章来源: Preview pdf file created with TCPDF in embed tag after Ajax call
标签: php tcpdf