打印PDF文件,带打印对话框,无文件预览

时间:2014-02-17 17:55:48

标签: javascript php pdf

我今天完成了一项任务,用* .odt文件生成* .pdf,然后尽可能使用户友好打印。

到目前为止,我设法将pdf发送给用户,让他将其保存为文件,然后他可以自己打印。我也可以在浏览器中打开pdf。

但我想问一下是否有办法在没有弹出窗口的情况下打印它?

想知道是否有可能至少显示打印/取消窗口而不向观众眼睛打开实际的PDF格式?

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');

是的,我在那里读过一些类似的问题。他们中的大多数都在谈论一些命名行动(应该是由Acrobat Pro(?)添加),将一些javascript放入pdf文件,这花了我一个小时到谷歌,没有任何运气如何使用php / javascript如果它甚至可能,以及一些涉及Fpdf的其他解决方案 - 但我需要将我的pdf转换为odt文件,我认为这不可能在fpdf中。

任何帮助,或提示赞赏。

PS。我想在客户端打印它。

修改
我尝试了一些嵌入式或iframe解决方案,但我在firefox中遇到错误,说了一些关于没有足够授权的东西。将尝试在此PC上重现该问题,因此我可以提供更多详细信息。

2 个答案:

答案 0 :(得分:1)

我认为不可能绕过浏览器打印对话框并将打印件直接发送到打印机

答案 1 :(得分:0)

您可以使用我们的(商业)PDF API,我们记录in this blog article。你仍然会得到一个对话框,你需要使用一个Applet(所以实际上你可能会在它第一次运行时得到大约六个对话框。)

这种方法的优点是最终用户不必安装Acrobat,并且applet不必对查看者可见。缺点是你需要购买我们的软件,它是一个applet - 这意味着第一次运行时会有一次性的大约1MB的下载和一些安全对话框。

由于浏览器安全级别的提高,您可能已经在其他地方看到的“调用带有参数的Acrobat”方法现在可能不会起作用。另一种可行的方法是,如果您知道Acrobat Reader已安装并设置为作为浏览器插件运行,那么您可以在PDF上运行一个触发打印的开放操作。当然,您需要PDF API来修改PDF才能执行此操作。或者,如果浏览器可以原生显示PDF,那么Flexpaper的答案是很好的。)

干杯......迈克(CTO @ BFO)