文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>基于浏览器的web在线打印

基于浏览器的web在线打印

时间:2008-11-11  来源:dorainm

一直用自己的打印“驱动”,即用perl来架设一个 web server,然后接收浏览器对本地PC端口的post数据,通过操作打印机文件(比如/dev/lp0)或者通过lpt1之类的设备(win32系统),直接对打印机写需要打印的字符,从而得到打印效果,详细参见 “另类的 Linux在线文本打印和基于 Perl的 Web Server”。

不过,一旦需要打印不同大小或者字体的字符,原本的解决方案就没法通过,而且也没法在这个基础上进行调整,之好重新找打印的途径。

无助之下,看到每个浏览器都带有打印功能,想既然firefox, opera, msie之类的浏览器都带着 print的功能,那么,这个功能肯定有可取性,开发者对这个功能也应该下过足够精力,尝试下能不能被某人来使用。

使用过浏览器打印,都见过可恶的页眉页脚,即浏览器自带者的,打印网页内容的同时,出现url、页码等我们不需要的字符。可取的是,所有浏览器都可以在[页面设置]里面,重新设置下页眉页脚,当然,设置成(NONE),即空白,就可以达到我们想要的效果了。

这样子,如果需要打印的话,点击web程序的某个按钮,可以用 js,弹出一张没有地址栏没有状态栏没有滚动条的“纯洁”的字符网页。下面是弹出一个居中的窗口的js代码:

function market_fontpage_print()
{
    var xx=(window.screen.width-450)/2;
    var yy=(window.screen.height-200)/2;
    pp=window.open("printpreview.php?p=dorainm","win","menubar=no,location=no,resizable=no,scrollbars=no,status=no,left="+xx+",top="+yy+",Width=450,Height=200");
}


那个“纯洁”的网页,它排列着打印的内容,比如这么一张。

<html>
<head>
<title> web print online. by dorainm, [email protected]</title>
</head>
<body>
<h1>hello, printer</h1>
<p>i am a test.</p>
</body>
</html>


然后我们添加打印的js,然后添加一段js代码,打印网页,然后关闭页面

<script language="javascript">
window.print();
window.close();
</script>


嘿嘿嘿,这个样子也可以实现 web程序的 online打印了。而且根据自己的 printpreview页面,可以设置需要打印的字符的大小、位置,甚至logo、表格之类的:)
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载