導航:首頁 > 編程語言 > 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列印多頁相關的資料

熱點內容
zip文件怎麼刪除嗎 瀏覽:247
win1016179安裝失敗 瀏覽:457
pp助手的文件系統 瀏覽:218
設計網站橫幅廣告要哪些因素 瀏覽:991
勞務報酬認定在多少號文件 瀏覽:209
本地數據傳輸業務有什麼用途 瀏覽:375
什麼情侶app好用 瀏覽:575
旅遊攻略適合下什麼app 瀏覽:403
nodejsbusboy下載 瀏覽:106
同事不會送文件找不到地方 瀏覽:473
銀聯萬事達applepay 瀏覽:834
試玩怎麼推廣app 瀏覽:588
課設報告中數據結構寫什麼東西 瀏覽:44
男生怎麼搜到網站的 瀏覽:441
當前無網路怎麼解決 瀏覽:299
x200thinkpad升級 瀏覽:568
華為mate8幾個版本的區別 瀏覽:582
怎樣把一個excel拆分多個文件 瀏覽:388
圖片重命名添加上一級文件名 瀏覽:940
java讀linux文件換行符 瀏覽:995

友情鏈接