Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP web应用程序打印客户端报告_Php_Flash_Pdf_Printing_Reporting - Fatal编程技术网

从PHP web应用程序打印客户端报告

从PHP web应用程序打印客户端报告,php,flash,pdf,printing,reporting,Php,Flash,Pdf,Printing,Reporting,我正在寻找一种解决方案,用于从基于PHP web的应用程序客户端打印报告和预格式化表单。请注意,这些不是HTML页面的打印。相当协调的固定格式收据、订单、分类账等 我想到的东西 使用PDF:是否有一种简单的单击方式从客户端打印报告?在窗口中打开PDF,然后选择File->Print这一明显的选择似乎太麻烦了 使用Flash:我看到一些网站通过Flash提供单点打印。不知道什么在后台起作用。在这方面的任何见解都会有所帮助 Active-X/Silverlight(?):我不想把我的用户限制在IE上

我正在寻找一种解决方案,用于从基于PHP web的应用程序客户端打印报告和预格式化表单。请注意,这些不是HTML页面的打印。相当协调的固定格式收据、订单、分类账等

我想到的东西

使用PDF:是否有一种简单的单击方式从客户端打印报告?在窗口中打开PDF,然后选择File->Print这一明显的选择似乎太麻烦了

使用Flash:我看到一些网站通过Flash提供单点打印。不知道什么在后台起作用。在这方面的任何见解都会有所帮助

Active-X/Silverlight(?):我不想把我的用户限制在IE上。但这种一键式打印的要求是如此严格,以至于如果它能够完成任务,我宁愿切换到只支持MS的平台

请注意,单击可以打开“打印”对话框,用户可以再次单击进行打印。但比这更复杂是一个缺点。


<a href = "#" onclick = "window.print(); return false;">Print!</a>

对于Nelson LaQuet,您可以将window.print()放在body标记的onload属性中,以便在页面加载时弹出打印对话框


(或者使用jquery的document.ready()实现相同的功能,或者使用其他JS框架提供的任何功能)

如果格式过于严格,您需要类似PDF的格式。HTML/CSS是如此多变,你永远不会在所有浏览器上都得到相同的结果。插件网页并没有真正的页面概念(尽管有一些支持CSS打印媒体样式)

也不是所有人都有打印机。试图强制打印某些内容确实是一种错误的方法,通常会让您的一些客户望而却步

最小的解决方案是使用emdia打印CSS创建一个收据页面,使其在大多数情况下看起来有责任感

如果这还不够的话,你需要使用PDF格式。不幸的是,这就变得很难了。在这方面做得很出色,但并不便宜。是开源软件中最好的,但也有一些问题(更多细节请参见答案)。我在Java领域也遇到过同样的问题,因为发票最终使用了。不过,我还没有看到一个与PHP相当的报告解决方案。Python有,它似乎也是做这类工作的一个可能的候选者

也许您最好的选择是直接生成PDF。这有点乏味,但它避免了HTML到PDF转换的许多陷阱。()解释了如何实现。

如今,有和作为开源项目的项目接近于PrinceXML。