2016-12-23 3 views
1

У меня есть два текста, и я хочу, чтобы напечатать их на двух разных страницах, это то, что я сделал до сих пор:Печать на двух разных страницах, используя JavaScript

Кнопка печати:

<button onclick="javascript : CallPrint('idText1','idText2')" type="button">Print</button> 

метод callPrint JavaScript:

<script language="javascript" type="text/javascript"> 
    function CallPrint(firstText,secondText) { 
     var firstContent = document.getElementById(firstText); 
     var secondContent = document.getElementById(secondText); 
     var WinPrint = window.open('', '', 'letf=0,top=0,width=1200,height=750,toolbar=0,scrollbars=0,status=0,dir=ltr'); 
     WinPrint.document.write(firstContent.innerHTML); 
     WinPrint.document.write(secondContent.innerHTML); 
     WinPrint.document.close(); 
     WinPrint.focus(); 
     WinPrint.print(); 
     WinPrint.close(); 
    } 
</script> 

проблема в том, что они печатаются один за другим. Как можно разделить их на две разные страницы (без использования бр-тегов). Если это невозможно, я хочу знать, можно ли отображать два окна печати вместо одного.

+1

'разделить их на два разных pages' - [CSS разрывы страниц] (https: // davidwalsh .name/css-page-breaks) –

+1

Посмотрите на свойства 'page-break-after page-break-before page-break-inside' css и поместите их внутри правила @print css. Там есть какая-то комбинация, где вы можете заставить и элемент всегда начинать новую страницу. – Shilly

ответ

1

Добавить пустой абзац с page-break-after: always стиле между 2 текстами:

WinPrint.document.write(firstContent.innerHTML); 
WinPrint.document.write('<p style="page-break-after:always;"></p>'); 
WinPrint.document.write(secondContent.innerHTML); 

+0

Это сработало, спасибо :) –

+0

Отлично. Пожалуйста. –

0

Вы должны открыть два окна в функции, чтобы разделить содержимое в двух файлах.

function CallPrint(firstText,secondText) { 
     var firstContent = document.getElementById(firstText); 
     var secondContent = document.getElementById(secondText); 
     var WinPrint = window.open('', '', 'letf=0,top=0,width=1200,height=750,toolbar=0,scrollbars=0,status=0,dir=ltr'); 
     WinPrint.document.write(firstContent.innerHTML); 
     var WinPrint2 = window.open('', '', 'letf=0,top=0,width=1200,height=750,toolbar=0,scrollbars=0,status=0,dir=ltr'); 
     WinPrint2.document.write(secondContent.innerHTML); 
+0

Это не сработало, я уже пробовал это, я получил исключение: не могу прочитать свойство «document» undefined –