我已经构建了生成报告用户视图的pdf文件的功能。
因此,它目前所做的是,当用户单击打印pdf按钮
<html>
、<body>
等)包装内容,并在其中添加一些样式。一切都很顺利。
问题是
比如在获得div的内容之后,对字符串进行一些更改,将其直接显示在新的窗口中,如pdf内容等,以避免服务器处理,这可能吗?
到目前为止,我一直试图用data:application/pdf
直接显示内容,但这并不奏效。
如果这是不可能的,我想避免保存pdf文件,但只是显示的观点,将开放为pdf,可能是通过设置其content-type
,这是可能的吗?
发布于 2013-04-19 15:15:18
你所做的是最好的方法。(所有的)浏览器都没有能力将html转换成pdf,所以您不能命令它们以pdf的形式打开页面。您必须从服务器提供pdf文件。要获得更多控制,您可以在指定的url上从脚本中为文件提供服务,并添加适当的标题:
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"'); // second parameter is the name of the file
内容类型意味着浏览器将尝试使用适合此MIME类型的程序打开它。内容处理内联意味着浏览器将尝试在浏览器中打开它。
当服务器工作时,只需向用户显示“加载”图像即可。这样,用户就会知道事情正在发生,他需要等待。
https://stackoverflow.com/questions/16105284
复制相似问题