반응형
가끔 웹페이지를 인쇄하고 싶은데 인쇄 미리보기 창에서부터 배경색이나 이미지가 출력되지 않을 때가 있다.
css의 background 속성을 사용하면 그런 듯 하다.
예를들어 본인 블로그의 메인화면이다.

인쇄미리보기를 보면 버튼 몇 개가 없어졌다.



인쇄 시 이미지나 버튼이 잘 나오게 하려면 퍼블리싱할 때에 아싸리 img 태그를 사용하거나, 인쇄 시 alert 를 노출해 인쇄하려는 사람이 대처할 수 있도록 해주어야 하는데, 어떠한 액션을 취해야 이미지가 제대로 나올까?
본인이 구글링해본 결과로는 아래와 같이 액션을 취해주어야 한다.
1) IE / 파이어폭스
Alt 누른 후 떼기 -> 파일 메뉴 -> 페이지 설정 -> 용지 옵션 -> 옵션들 중 배경색 및 이미지 인쇄 체크
2) 크롬 / 마소 엣지
인쇄 -> 설정 더보기 -> 옵션들 중 배경 그래픽 체크
3) 사파리 (해결되지 않는 경우도 있다고 함)
Preferences -> Advanced > Proxies: Change Settings > Advanced > Printing > "Print background colors and images"

그럼 짜잔~ 안보이던 아이콘들이 잘 보인다.
본인같은 경우에는 아래처럼 코딩해놓았다. 다만 beforeprint 이벤트는 아래 사양에서만 지원된다.

<script>
window.addEventListener("beforeprint", function(){
alert("※ 주의 사항" +
"\n인쇄하실 때 배경색 혹은 이미지가 나오지 않을 때 아래와 같이 설정해주세요." +
"\nIE(인터넷 익스플로러) / FireFox(파이어폭스) 의 경우" +
"\n - Alt 누른 후 떼기 > 파일 > 페이지 설정 > 용지 옵션 > 배경색 및 이미지 인쇄 체크" +
"\nChrome(크롬) / MicroSoft Edge(마이크로소프트 엣지) 의 경우" +
"\n - 인쇄 미리보기 화면 > 설정 더보기 > 옵션 > 배경 그래픽 체크" +
"\nSafari(사파리) 의 경우" +
"\n - Preferences > Advanced > Proxies: Change Settings > Advanced > Printing > Print background colours and images 체크" +
"\n* 해결불가 시 문의부탁드립니다.");
});
</script>
'프론트엔드' 카테고리의 다른 글
slick slider 옵션 한글 정리 [slick slider] (0) | 2021.06.23 |
---|