当前位置:首页>开发>正文

自己打印程序PHP 如何php实现本地打印

2023-07-18 23:08:22 互联网 未知 开发

 自己打印程序PHP 如何php实现本地打印

自己打印程序PHP

有的,我知道有一个免费的Web打印控件可以很方便实现直接打印的功能。
演示地址:http://www.xinyuerj.com/ASP.NET/
在演示页可以下载该控件,控件包有PHP的详细示例。

如何php实现本地打印

php 是在服务器端执行的, 无法直接调用客户端打印机, 要使用客户端本地打印 只能用php生成内容 用 javascript 来实现; 推荐使用  jquery.printarea.js,插件 把要打印的内容用ajax放到一个div 然后打印这个div 



function print_xx(){
$("#touming_div").css("visibility","visible")
$("#xxtj_div").load("./getprint.php",{t_table_no:cur_t_table,act:4},function(){
    $("#touming_div").css("visibility","hidden")
    $("#xxtj_div").printArea( )  //打印getprint.php输出的内容
})
}

php怎么调用指定的打印机

php生成的是网页吧,然后用ie浏览,在ie上有个打印按钮,可以选择打印机
但ie不是你用php写的,是微软写的
你怎么控制一个微软写的软件,并使用它选择打印机?除非他提供了接口
微软是否提供了接口,应该没有,否则早有人回帖了
但还有一个可能,当你改变本机 打印机的首选项时,有可能记录在注册表里面。如果是这样,那就直接改变注册表,就相当于选择了打印机
但是你想,当你浏览一个网页,它会修改你的注册表,这让人放不放心,算不算病毒,会不会被杀毒软件屏蔽?或者根本通不过ie默认的安全选项
最终结局就是,b/s方式不要想控制客户的硬件
但我还是要打印,在当前,只有让客户安装打印控件,这样才可能让客户自定义打印机相关
还有一种想法,不用客户端控制来打印,把打印要求提交到服务器,让服务器选择打印机,没有用过,你不如研究一下?

另外php最多只能控制服务器的硬件,想控制客户机最多只能用js
对客户机某些打印选项的注册表操作,下面有js的例子用法,很久以前的,仅做参考


var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup\"
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"")
hkey_key="footer"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"")
hkey_key="margin_left"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"0.2")
hkey_key="margin_bottom"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"0.2")
hkey_key="margin_right"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"0.2")
hkey_key="margin_top"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"0.2")
}catch(e){}
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"&w&b页码,&p/&P")
hkey_key="footer"
RegWsh.RegWrite(hkey_root hkey_path hkey_key,"&u&b&d")
}catch(e){}
}


打印分页

page1


page2

最新文章