Programing

웹 주소가 인쇄되지 않도록 내 인쇄 CSS에서 URL을 제거 할 수 있습니까?

crosscheck 2021. 1. 6. 20:18
반응형

웹 주소가 인쇄되지 않도록 내 인쇄 CSS에서 URL을 제거 할 수 있습니까?


print.css를 포함하여 몇 가지 스타일 시트를 작성했는데 제대로 작동합니다.

각 페이지의 인쇄에서 URL을 제거하고 싶습니다. 나는 그것이 불가능한지 궁금해하기 시작했다. 표시하도록 설정할 수있는 요소 / 옵션이 있습니까?

그 이유는 '보통'및 '인쇄'스타일 시트가있는 특정 페이지가 특별히 서식이 지정되어 인쇄시 의미있는 소책자를 형성하기 때문입니다. 따라서 URL은 관련이 없습니다.


Firefox에서 https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383 (페이지 소스보기 :: 태그 HTML).

당신의 코드에서 교체 <html><html moznomarginboxes mozdisallowselectionprint>.

다른 브라우저에서는 모르겠지만 http://www.mintprintables.com/print-tips/header-footer-windows/ 를 볼 수 있습니다 .


안타깝게도 아닙니다. 머리글과 바닥 글은 브라우저에서 생성됩니다. 최종 사용자 만 바닥 글을 변경할 수 있습니다. 각 브라우저에서 수행 할 작업을 단계별로 사용자에게 제공하는 것이 좋습니다. 예를 들어 Windows 기반 브라우저에 대한 설명 된 연습 세트는 여기참조하십시오 .

내가 아는 유일한 대안은 PDF를 생성하는 것입니다. PDF를 사용하여 인쇄 된 출력을 완전히 제어 할 수 있습니다.


문제 해결에 도움이되는 코드를 사용하세요.

@media print 
{
  @page { margin: 0; }
  body  { margin: 1.6cm; }
}

@media print 
{
  a[href]:after { content: none !important; }
  img[src]:after { content: none !important; }
}

스타일 시트에서 이것을 시도 할 수 있습니다.

@page{size:auto; margin-bottom:5mm;}

그러나 이것은 또한 페이지 번호를 제거합니다


이 솔루션 은 css @page 지시문에서 margin을 0으로 설정하여 Chrome 및 Opera에서 트릭을 수행합니다. 하지만 (현재) 다른 브라우저에서는 작동하지 않습니다.


내가 올바르게 이해한다면 페이지 머리글과 바닥 글에 대해 이야기합니다. 브라우저에서 인쇄됩니다. HTML 콘텐츠의 일부가 아니므로 직접 영향을 미칠 수 없습니다.

사용자에게«페이지 설정 ...»대화 상자에서 머리글 및 바닥 글을 비활성화하는 방법을 보여줍니다.


웹 브라우저에 따라 다릅니다. Firefox를 사용하는 경우 파일> 페이지 설정으로 이동 한 다음 여백 및 머리글 / 바닥 글을 클릭하여 해당 머리글 및 바닥 글 줄 (URL, 페이지 번호 등)을 조정하거나 끌 수 있습니다 .


브라우저에서 인쇄하기위한 머리글과 바닥 글은 스타일을 지정할 수있는 문서 수준 요소가 아니라 브라우저 기본 설정입니다. 추가 해결 방법과 실망에 대해서는 매우 유사한 질문참조하십시오 .


역사적으로 이러한 것들은 사용자 설정이고 사용자가 제어 할 수있는 페이지의 일부로 간주되지 않으므로 사라지게하는 것이 불가능했습니다.

http://css-discuss.incutio.com/wiki/Print_Stylesheets#Print_headers.2Ffooters_and_print_margins

그러나 2017 년부터 @page at-rule이 표준화되어 최신 브라우저에서 페이지 제목과 날짜를 숨기는 데 사용할 수 있습니다.

@page {크기 : 자동; 여백 : 0mm; }

이 팁은 Vigneswaran S에게 감사드립니다.


나는 또한 모든 것을 시도했지만 마침내 URL을 더 짧게 만들기 위해 아래 코드를 작성하고 있습니다.

var curURL = window.location.href;
history.replaceState(history.state, '', '/');
window.print();
history.replaceState(history.state, '', curURL);

그러나 사용자가 클릭 할 수 있도록 사용자 정의 PRINT 버튼을 만들어야합니다.


아래 방법을 사용하여 머리글 및 바닥 글에서 URL 제거

 @page { size: letter;  margin-top: 4mm;margin-bottom: 4mm }

페이지 바닥 글에 표시되는 URL에 대해 이야기하고 있다고 가정합니다.

그렇다면 이것은 브라우저에 의해 설정되며 코드에서 수행 할 수있는 작업이 아닙니다.


확실하지 않지만 인쇄하려는 경우 브라우저에서 URL을 추가합니다. 페이지의 일부가 아니므로 CSS의 영향을받지 않습니다. 방법이 있지만 브라우저에 따라 다릅니다.


이제 다음과 같이 할 수 있습니다.

<style type="text/css" media="print">
@page {
    size: auto;   /* auto is the initial value */
    margin: 0;  /* this affects the margin in the printer settings */
}
</style>

출처 : https://stackoverflow.com/a/14975912/1760939


이것은 브라우저 문제입니다. 그러나 다음 코드 줄로이 문제를 처리 할 수 ​​있습니다.

<style type="text/css" media="print">
@media print
{
    @page {
        margin-top: 0;
        margin-bottom: 0;
    }
    body  {
        padding-top: 72px;
        padding-bottom: 72px ;
    }
}
</style>

Internet Explorer의 경우 도구로 이동하십시오. 인쇄 옵션을 클릭 한 다음 페이지를 설정합니다. 머리글 및 바닥 글 아래에서 모든 선택 항목을 "비어"둡니다. 그러면 인쇄 된 페이지에 인쇄되지 않습니다.

이게 도움이 되길 바란다.

참조 URL : https://stackoverflow.com/questions/2192806/can-i-remove-the-url-from-my-print-css-so-the-web-address-doesnt-print

반응형