导航:首页 > 编程语言 > js打印多页

js打印多页

发布时间:2023-03-07 15:26:39

1. 使用javascript怎样自动打印页面

1、js实现(可实现局部打印)
[html] view plain
<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />
<input id="btnPrint" type="button" value="打印预览" onclick=preview(1) />
<style type="text/css" media=print>
.noprint{display : none }
</style>
<p class="noprint">不需要打印的地方</p>
<script>
function preview(oper)
{
if (oper < 10)
{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
} else {
window.print();
}
}
</script>
<p>XXXXX</p>
<!--startprint1-->要打印的内容<!--endprint1-->
再加个打印按纽 onclick=preview(1)
2、调用windows底层打印,报安全警告,不建议使用(不支持局部打印)
[html] view plain
<HTML>
<HEAD>
<TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312" />
<SCRIPT language=javascript>
function printsetup(){
// 打印页面设置
wb.execwb(8,1);
}
function printpreview(){
// 打印页面预览
wb.execwb(7,1);
}
function printit()
{
if (confirm('确定打印吗?')) {
wb.execwb(6,6);
}
}
</SCRIPT>
</HEAD>
<BODY>
<DIV align=center>
<OBJECT id=wb height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<INPUT onclick=javascript:printit() type=button value=打印 name=button_print />
<INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup />
<INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />
一按开始的减肥了卡时间段
</DIV>
</BODY>
</HTML>
3、jQuery实现(支持局部打印)
[html] view plain
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery.PrintArea.js"></script>
<script>
$(document).ready(function(){
$("input#biuuu_button").click(function(){
$("div#myPrintArea").printArea();
});
});
</script>
<input id="biuuu_button" type="button" value="打印"></input>
<div id="myPrintArea">.....文本打印部分.....</div>

2. js怎样控制打印的分页

你这个和JS没关系,是CSS控制的内容,
比如footer后打印分页
@media print {
footer {page-break-after: always;}
}
另外CSS即使没有分页,如果页面满了也会自动分页或者截断,这个控制不了的。

3. js如何实现页面打印

<HTML><HEAD><TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312" />
<SCRIPT language=javascript>
function printsetup(){
// 打印页面设置
wb.execwb(8,1);
}
function printpreview(){
// 打印页面预览
wb.execwb(7,1);
}
function printit()
{
if (confirm('确定打印吗?')) {
wb.execwb(6,6)
}
}
</SCRIPT>
</HEAD>
<BODY>
<DIV align=center>
<OBJECT id=wb height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<INPUT onclick=javascript:printit() type=button value=打印 name=button_print />
<INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup />
<INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />
</DIV>
</BODY>
</HTML>

4. js 打印设置

ps:去除页眉页脚后打印显示不全处理
在打印内容处设置padding 单位mm (此处不能设置margin会有多打印一页空白bug)

js打印设置打印方向、去除页眉页脚

去除页眉页脚横向打印

去除页眉页脚纵向打印

5. 有没有办法定义JS打印区域占满整页

理论上来说这是普通打印机绝对不可能完成的任务,我们只能通过在Excel的页面设置中调整回页边距来做到对纸答张最大限度的利用,大致操作方法如下(以Excel2010为例):
点击工具栏中的“页面布局”→“页边距”→“自定义边距”
在弹出的窗口中点击“页边距”标签
在其中的“上”、“下”、“左”、“右”四栏里都填上0厘米
点击确定按钮
以上设置方法是针对“打印机可用范围”来设置的,根据打印机的不同,实际打印出来的文稿肯定是会有一点边距的,这是打印机对于最外层会有预留的“出血边”,因为打印机在打印文档时不可能保证进纸方向一定是正的(放入的纸角度歪个几度打印机也能打)。没有这个“出血边”的话,要是纸放入后歪个几度可能会有打印到纸张外的可能性。所以,要完全占满整张纸,一点空隙不留是做不到的(当然,也不排除大几万一台的工程/工业用打印机能做到,但那和我们生活中能用到的东西距离太远了)。

6. iejs打印方法出现2个空白页

打印时如果出现两个空白页,多数情况下都是由于产品内容不稳定以及产品内容不明确所导致的,有可能是产品模糊导致的。

7. javascript JS 实现打印页面功能 支持多浏览器,兼容IE,火狐,谷歌

您好!很高兴为您答疑。
在B/S结构下,web页面打印是一个非常专难以解决的问题,目前如果希属望通过js实现兼容性的打印,基本是不可能的。采用对css依赖度较低的表格布局,然后作为隐藏层,在打印时通过js调用是目前最有效的手段,而scriptx之类,是无法跨浏览器平台使用的。
如果对我们的回答存在任何疑问,欢迎继续问询。

8. 分页打印网页怎么做js或者jquery

用法:

$("div#printmain").printArea();

但还是会打印后面的内容,这里可以使用CSS控制打印分页

<div style="page-break-after: always;"></div>

有时用CSS控制分页了但还是会连续打印页面,这里就可以用上PrintArea 插件中的属性参数。

PrintArea部分源码:

var modes = { iframe : "iframe", popup : "popup" };
var defaults = { mode : modes.iframe,
popHt : 800,
popWd : 800,
popX : 200,
popY : 200,
popTitle : '',
popClose : false ,
twoDiv : '', //自已扩展的属性,为满足变态需求
pageTitle: ''};//自已扩展的属性,为满足变态需求

可以看出插件中定义的属性格式为JSON,下面介绍部分属性

modes定义了两个属性,指定popup时会打开新窗口,可以视为打印预览页面,默认为iframe。

@popClose | [boolean] | (false),true 打印完成后是否开闭预览页面,默认为false(不关闭)。

$("div#printmain").printArea({mode:"popup",popClose:true});

这样就可以指定DIV打印了。

下面说一下我新增两个属性的用途
twoDiv:
需要打印的第二个DIV ,当然会是第二页,这个页面比较长,需要自动分页,并且表格中每行都不一样,有些行跨了多行,这里打印出来,一行可能会打印在两张纸上。

pageTitle:
第二个DIV分成多页里,每一页的表头都需要一样,这个参数就是公用表头。

这两个参数都对应着页面中的DIV,如:
<div id="pageTitle" style="display: none;">

页面定义好后,我们看看插件中是如何处理我们的页面的。
writeDoc.open();
writeDoc.write(html); //打找一个窗口关写窗口中的HTML代码
writeDoc.close();

printWindow.focus();
printWindow.print();

下面是生成html的代码
html+=docType() + "<html>" + getHead() + getBody(thisPage) + "</html>";

插件中都定义了相义的方法,我没有做任何修改,这里我就不粘贴了。

下面是我的思路:
需在将一个DIV中的内容分成多页,且一行不跨多页,我们就得在生成html 代码上下功夫了。

首先找出DIV中的所有行,当公共表头加上这些行后高度达到一页,就需要分页了,这里就有可以一页中最后一行刚好跨了多页,将这一行保存下来,放到下一页。

每一页生成完成后都需要在HTML标签后面加上CSS分页标记,这样就打印机就会乖乖的分页。

说明一下,生成的预览页面一页就是一个HTML页面,它有对应的表头与DTD信息。

有人可能明明预览只有4页,而打印出来总会多一页,这时你需要检验一下你生成的页面中分页标记是不是在HTML标签之前。
分面标记一定要在HTML标签之后,这样可解决打印多打一页问题。

阅读全文

与js打印多页相关的资料

热点内容
fgets空文件 浏览:857
传奇物品文件夹 浏览:352
word插入excel图表 浏览:690
xp系统搜索不到本地文件 浏览:39
什么网站可以找到拼团去西藏 浏览:247
javatask 浏览:50
MFC的文件名 浏览:972
cad自动保存的文件怎么关闭 浏览:667
zip文件密码多少 浏览:486
编程培训哪些好 浏览:324
如何把文件夹内容变成文档 浏览:509
小火箭幼儿编程怎么拿积分 浏览:158
火车票时刻表及票价数据库 浏览:94
求平均值java 浏览:767
linux如何分屏显示 浏览:257
手机可以直接填写pdf文件么 浏览:554
linux虚拟光驱软件 浏览:836
米2s最好的版本 浏览:640
小米6检测工具下载 浏览:540
桌面创建不了文件夹怎么回事 浏览:894

友情链接