我发现此代码以Javascript格式打印。
function printData()
{
var divToPrint=document.getElementById("printTable");
newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
}
元素ID" printTable"是我想要打印的表的ID,但不幸的是它只打印出表的内容而不是表的样式。我只想在它上面有边框,以便更容易阅读。谁能帮我?
答案 0 :(得分:25)
以下是jsfiddle示例中的代码。我测试了它,它看起来很好。
http://jsfiddle.net/dimshik/9DbEP/4/
我使用了一个简单的表,也许你在新页面上遗漏了一些用JavaScript创建的CSS。
<table border="1" cellpadding="3" id="printTable">
<tbody><tr>
<th>First Name</th>
<th>Last Name</th>
<th>Points</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
<tr>
<td>Adam</td>
<td>Johnson</td>
<td>67</td>
</tr>
</tbody></table>
答案 1 :(得分:5)
答案 2 :(得分:4)
一个厚脸皮的解决方案:
function printDiv(divID) {
//Get the HTML of div
var divElements = document.getElementById(divID).innerHTML;
//Get the HTML of whole page
var oldPage = document.body.innerHTML;
//Reset the page's HTML with div's HTML only
document.body.innerHTML =
"<html><head><title></title></head><body>" +
divElements + "</body>";
//Print Page
window.print();
//Restore orignal HTML
document.body.innerHTML = oldPage;
}
HTML:
<form id="form1" runat="server">
<div id="printablediv" style="width: 100%; background-color: Blue; height: 200px">
Print me I am in 1st Div
</div>
<div id="donotprintdiv" style="width: 100%; background-color: Gray; height: 200px">
I am not going to print
</div>
<input type="button" value="Print 1st Div" onclick="javascript:printDiv('printablediv')" />
</form>
答案 3 :(得分:0)
我的同伴,
2019年1月,我使用了之前编写的代码:
<script type="text/javascript">
function imprimir() {
var divToPrint=document.getElementById("ConsutaBPM");
newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
}
</script>
难以理解:ConsutaBPM是一个DIV,其中包含内部短语和表格。我想打印所有,标题,表格和其他内容。问题是当试图打印表...
可用BORDER和CELLPADDING定义表:
<table border='1' cellpadding='1' id='Tablbpm1' >
效果很好!