페이지 인쇄에 window.print ()를 사용하고 있지만 머리글과 바닥 글에 페이지 제목, 파일 경로, 페이지 번호 및 날짜가 포함되어 있습니다. 그들을 제거하는 방법?
인쇄 스타일 시트도 시도했습니다.
#header, #nav, .noprint
{
display: none;
}
도와주세요. 감사.
페이지 인쇄에 window.print ()를 사용하고 있지만 머리글과 바닥 글에 페이지 제목, 파일 경로, 페이지 번호 및 날짜가 포함되어 있습니다. 그들을 제거하는 방법?
인쇄 스타일 시트도 시도했습니다.
#header, #nav, .noprint
{
display: none;
}
도와주세요. 감사.
답변:
Chrome에서는 다음을 사용하여이 자동 머리글 / 바닥 글을 숨길 수 있습니다.
@page { margin: 0; }
내용이 페이지의 한계까지 확장되므로 페이지 인쇄 머리글 / 바닥 글이 없습니다. 물론이 경우 본문 요소에 여백 / 패딩을 설정하여 콘텐츠가 페이지 가장자리까지 확장되지 않도록해야합니다. 일반 프린터는 여백없는 인쇄를 얻을 수없고 원하는 것이 아닐 수 있으므로 다음과 같이 사용해야합니다.
@media print {
@page { margin: 0; }
body { margin: 1.6cm; }
}
으로 마틴 의견에서 지적, 페이지 경우 (큰 테이블 등의) 한 페이지 과거 스크롤, 여백이 무시됩니다 긴 요소를 가지고 인쇄 된 버전은 이상하게 보일 것이다.
이 답변의 원본 (2013 년 5 월) 당시에는 Chrome에서만 작동했으며 지금은 확실하지 않으며 다시 시도 할 필요가 없습니다. 할 수없는 브라우저에 대한 지원이 필요한 경우 즉시 PDF를 만들어 인쇄 할 수 있지만 (자바 스크립트가 포함 된 자체 인쇄 PDF를 만들 수 있음) 이는 매우 번거 롭습니다.
body { margin: 1.6cm; }
나에게 올바른 여백을 무시하고 있었기 때문에 (아마도를 사용했기 때문에 text-align:right
) 대신 <div class="container">
내 콘텐츠에 대해를 만들고 .container { margin: 1.6cm; }
대신 사용 했습니다.
body { margin: 1.6cm; }
전체 문서의 여백이므로 처음과 마지막을 제외하고는 다중 페이지 문서의 세로 여백을 존중하지 않기 때문에주의 해야합니다. 슬프게도 해결 방법을 생각할 수 없습니다.
이 코드를 CSS 파일에 추가하면 문제가 해결 될 것이라고 확신합니다.
<style type="text/css" media="print">
@page
{
size: auto; /* auto is the initial value */
margin: 0mm; /* this affects the margin in the printer settings */
}
</style>
Firefox :
moznomarginboxes
속성 추가<html>
예 :
<html moznomarginboxes mozdisallowselectionprint>
CSS 표준은 일부 고급 서식을 활성화합니다. CSS에는 페이지가있는 미디어 (예 : 종이)에만 적용되는 일부 형식을 활성화하는 @page 지시문이 있습니다. http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html을 참조 하십시오 .
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Print Test</title>
<style type="text/css" media="print">
@page
{
size: auto; /* auto is the current printer page size */
margin: 0mm; /* this affects the margin in the printer settings */
}
body
{
background-color:#FFFFFF;
border: solid 1px black ;
margin: 0px; /* the margin on the content before printing */
}
</style>
</head>
<body>
<div>Top line</div>
<div>Line 2</div>
</body>
</html>
파이어 폭스의 경우 사용
Firefox에서 https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383 (페이지 소스보기 :: 태그 HTML).
당신의 코드에서 교체 <html>
로<html moznomarginboxes mozdisallowselectionprint>.
1. Chrome 및 IE의 경우
<script language="javascript">
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.getElementById('header').style.display = 'none';
document.getElementById('footer').style.display = 'none';
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
<div id="div_print">
<div id="header" style="background-color:White;"></div>
<div id="footer" style="background-color:White;"></div>
</div>
예에서 moznomarginboxes 속성을 추가합니다.
<html moznomarginboxes mozdisallowselectionprint>
수동으로 인쇄 한 html 페이지의 머리글과 바닥 글을 제거하려고했습니다.
이 페이지의 해결책은 나에게 효과가 없었지만 여기에 설명 된대로 내 자신의 바닥 글을 정의하는 것만으로 Firefox는 자체 머리글과 바닥 글을 추가하지 않습니다.
불행히도 Chrome에서는 작동하지 않습니다.
CSS에서 :
@media screen {
div.divFooter {
display: none;
}
}
@media print {
div.divFooter {
position: fixed;
bottom: 0;
}
}
HTML에 다음을 추가하십시오.
<div class="divFooter">
<p>UNCLASSIFIED</p>
</div>
``
이 지점까지 아래로 스크롤하면 Firefox에 대한 해결책을 찾았습니다. 바닥 글과 머리글없이 특정 div의 내용을 인쇄합니다. 원하는대로 사용자 지정할 수 있습니다.
먼저이 애드온 JSPrintSetup을 다운로드하여 설치합니다 .
둘째, 다음 함수를 작성하십시오.
<script>
function PrintElem(elem)
{
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('</head><body >');
mywindow.document.write(elem);
mywindow.document.write('</body></html>');
mywindow.document.close(); // necessary for IE >= 10
mywindow.focus(); // necessary for IE >= 10*/
//jsPrintSetup.setPrinter('PDFCreator'); //set the printer if you wish
jsPrintSetup.setSilentPrint(1);
//sent empty page header
jsPrintSetup.setOption('headerStrLeft', '');
jsPrintSetup.setOption('headerStrCenter', '');
jsPrintSetup.setOption('headerStrRight', '');
// set empty page footer
jsPrintSetup.setOption('footerStrLeft', '');
jsPrintSetup.setOption('footerStrCenter', '');
jsPrintSetup.setOption('footerStrRight', '');
// print my window silently.
jsPrintSetup.printWindow(mywindow);
jsPrintSetup.setSilentPrint(1); //change to 0 if you want print dialog
mywindow.close();
return true;
}
</script>
셋째, 인쇄 코드를 작성하려는 코드에서 다음을 수행합니다 (JQuery를 사용했습니다. 일반 자바 스크립트를 사용할 수 있음).
<script>
$("#print").click(function () {
var contents = $("#yourDivToPrint").html();
PrintElem(contents);
})
</script>
분명히 클릭하려면 링크가 필요합니다.
<a href="#" id="print">Print my Div</a>
인쇄 할 div :
<div id="yourDivToPrint">....</div>
코드를 작성할 필요가 없습니다. window.print ()를 처음 호출하기 직전에 브라우저의 인쇄 설정을 변경하십시오. 예를 들어 firefox에서 :
IE에 대한 또 다른 예 (이전 버전에 IE 11을 사용하고 있습니다. Firefox 또는 Internet Explorer에서 모든 페이지에 URL 인쇄 방지를 볼 수 있음 ) :