답변:
Chrome 및 Safari -webkit-print-color-adjust: exact;
를 사용하면 요소에 CSS 스타일 을 추가하여 배경색 및 / 또는 이미지를 강제로 인쇄 할 수 있습니다.
기본적으로 브라우저에는 배경색 및 이미지 인쇄 옵션이 꺼져 있습니다. 이를 우회하기 위해 CSS에 몇 줄을 추가 할 수 있습니다. 다음을 추가하십시오.
* {
-webkit-print-color-adjust: exact !important; /* Chrome, Safari */
color-adjust: exact !important; /*Firefox*/
}
CSS로 배경 이미지를 인쇄하는 방법을 찾았습니다. 배경이 어떻게 배치되어 있는지에 따라 약간 다르지만 내 응용 프로그램에서 작동하는 것 같습니다.
기본적으로 @media print
스타일 시트 끝에 하고 본문 배경을 약간 변경합니다.
예를 들어, 현재 CSS가 다음과 같은 경우 :
body {
background:url(images/mybg.png) no-repeat;
}
스타일 시트 끝에 다음을 추가합니다.
@media print {
body {
content:url(images/mybg.png);
}
}
이렇게하면 이미지가 본문에 "전경"이미지로 추가되어 인쇄 가능하게됩니다. z-index
적절 하게 만들기 위해 몇 가지 추가 CSS를 추가해야 할 수도 있습니다 . 그러나 다시 말하지만, 페이지가 어떻게 배치되는지에 달려 있습니다.
이것은 인쇄보기에 표시 할 헤더 이미지를 가져올 수 없을 때 저에게 효과적이었습니다.
<img>
(RWD의 경우)을 @media print
. 웹 이미지가 어두운 배경에 있었기 때문에 해당 이미지를 인쇄하는 것이 백서에서 작동하지 않았으며 사용자가 헤더에 어두운 배경을 인쇄하도록 강요하고 싶지 않았습니다. 완전한!
아래 코드는 나에게 잘 작동합니다 (적어도 Chrome에서는).
여백 및 페이지 방향 컨트롤도 추가했습니다. (세로, 가로)
<style type="text/css" media="print">
@media print {
body {-webkit-print-color-adjust: exact;}
}
@page {
size:A4 landscape;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
margin-bottom: 0px;
margin: 0;
-webkit-print-color-adjust: exact;
}
</style>
! important 속성을 사용해야합니다. 이렇게하면 인쇄 할 때 스타일이 유지 될 가능성이 크게 높아집니다.
#example1 {
background:url(image.png) no-repeat !important;
}
#example2 {
background-color: #123456 !important;
}
유사 요소를 사용하십시오. 많은 브라우저가 배경 이미지를 무시하지만 콘텐츠가 이미지로 설정된 의사 요소는 기술적으로 배경 이미지가 아닙니다. 그런 다음 배경 이미지를 이미지가 있어야하는 대략적인 위치에 배치 할 수 있습니다 (원본 이미지만큼 쉽고 정확하지는 않지만).
한 가지 단점은 이것이 Chrome에서 작동하려면 인쇄 미디어 쿼리 외부에서이 동작을 지정한 다음 인쇄 미디어 쿼리 블록에서 표시되도록해야한다는 것입니다. 그래서 이렇게 ...
.image:before{
visibility:hidden;
position:absolute;
content: url("your/image/path");
}
@media print {
.image{
position:relative;
}
.image:before{
visibility:visible;
top:etc...
}
}
단점은 일반적인 페이지로드시 이미지가 자주 다운로드되어 불필요한 대량 추가가 발생한다는 것입니다. 원본의 보이는 이미지에 이미 사용한 것과 동일한 이미지 / 경로를 사용하여이를 방지 할 수 있습니다.
중요한 속성을 배경 이미지에 추가하면 Google 크롬에서 작동합니다. 먼저 속성을 추가하고 다시 시도하십시오. 그렇게 할 수 있습니다.
.inputbg {
background: url('inputbg.png') !important;
}
https://gist.github.com/danomanion/6175687 은 배경 이미지 대신 사용자 정의 글 머리 기호를 사용하여 우아한 솔루션을 제안합니다.
a.logo {
display: list-item;
list-style-image: url("../images/desired-background.png");
list-style-position: inside;
}
이것을 포함함으로써
@media print {
}
블록, 나는 배경 이미지로 렌더링 된 화면의 투명에 흰색 로고를 인쇄용 투명에 검은 색 로고로 바꿀 수 있습니다.
다음과 같은 몇 가지 트릭을 할 수 있습니다.
<style>
@page {
size: 21cm 29.7cm;
size: landscape
/*margin: 30mm 45mm 30mm 45mm;*/
}
.whater{
opacity: 0.05;
height: 100%;
width: 100%;
position: absolute;
z-index: 9999;
}
</style>
본문 태그 :
<img src="YOUR IMAGE URL" class="whater"/>