Существует много связанных постов о печати содержимого div, этот конкретный вопрос все еще оставался открытым, хотя его задавали в 10 году. Следующая функция JavaScript может использоваться для печати содержимого выбранного тега Div. Надеюсь это поможет. Заявитель: я использовал некоторые из существующих ответов, исправленные / улучшенные коды / ошибки для работы (и тестирования) с IE-8.
function printDiv(divName) {
var divToPrint = document.getElementById(divName);
var newWin = window.open('', 'PrintWindow', 'width=400, height=400, top=100, left=100', '');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</body></html>');
newWin.document.close();
setTimeout(function () { newWin.close(); }, 10);
}
Вызовите printDiv из любой точки страницы или из выбранного Div. Вот тестовая ссылка:
<a href="Javascript:printDiv('divCustomerData')">Print Customer Data</a>
<a href="Javascript:printDiv('divOrderData')">Print Order Data</a>
Назначьте соответствующие идентификаторы для Div, который должен быть напечатан:
<div id="divCustomerData">Div Contents goes here... </div>
Единственный улов сейчас - это потеря стилей CSS. Я обновлю ответ, когда получу возможность исправить это. Благодаря.