2013-11-07 3 views
6

Мне нужно распечатать фоновое изображение на каждой странице один раз при печати большого файла html. Теперь он печатается только на первой странице. Поэтому часть CSS для этого есть:Печатать фоновое изображение на каждой странице один раз

@media all { 
    body 
    { 
     text-align:left; 
     background-image:url('/C:/logo.png'); 
     background-repeat:no-repeat; 
     background-position:right top; 
    } 
} 
+0

Проблема, с которой вы столкнетесь, если вы не контролируете устройство, выполняющее печать, заключается в том, что по умолчанию большинство браузеров не печатают фоновые изображения и цвета, вам необходимо вручную включить их. – MyItchyChin

+0

@MyltchyChin У меня есть контроль над устройством, я печатаю себя в формате pdf из html - это большой html-отчет, и мне нужен логотип на каждой странице отчета. – Donvino

ответ

7

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

<style type="text/css" media="print"> 
    body 
    { 
     background-image:url('/C:/logo.png'); 
     background-repeat:no-repeat; 
     background-position: right top; 
     background-attachment:fixed; 
    } 
</style> 

Другого вариант для фонового изображения, чтобы разделить отношение вашей области печати (т.е. Letter размера 8.5x11 бумаги с .5 дюймовых полями со всех сторон 7,5: 10) и иметь логотип в поле пробелов (например, http://i.imgur.com/yvVW2mk.png). Затем вы установите изображение для повторения по вертикали и на 100%.

<style type="text/css" media="print"> 
    body 
    { 
     background-image:url('/C:/whitespace-logo.png'); 
     background-repeat:repeat-y; 
     background-position: right top; 
     background-attachment:fixed; 
     background-size:100%; 
    } 
</style> 
+0

Это работает в FireFox просто отлично, но он не работает в Chrome ... Есть ли способ заставить его работать в Chrome? Я имею в виду печатную часть. – Donvino

+0

Есть ли способ распечатать изображение на каждой странице в браузере Chrome? Beacause я конвертирую свой html в pdf, и когда я делаю это в firefox через foxitreader, mozila отключает все ссылки из pdf и когда я печатаю в pdf с хром, он отлично работает ... но он не печатает логотип ... Мне действительно нужно ваша помощь в этом вопросе ... – Donvino

+0

@Donvino - Второй вариант, который я дал, работал в Chrome – MyItchyChin

-3

Не забудьте включить файл CSS на всех страницах.

<link type="text/css" rel="stylesheet" href="style.css"> 
+0

У меня есть 1 большой html с включенным css. – Donvino

+0

Тогда как у него разные страницы? – Banananana

+0

Я думаю, что OP имеет 1 HTML-страницу, но когда печатается OP, вы получаете несколько страниц, выходящих из принтера. OP хочет иметь фоновое изображение на всех этих страницах. – putvande

Смежные вопросы