Я использую window.print () для печати страницы, но у меня верхний и нижний колонтитулы содержат заголовок страницы, путь к файлу, номер страницы и дату. Как их удалить?
Я также пробовал распечатать таблицу стилей.
#header, #nav, .noprint
{
display: none;
}
Пожалуйста помоги. Спасибо.
Ответы:
В Chrome можно скрыть этот автоматический верхний / нижний колонтитул, используя
Поскольку содержимое будет расширяться до пределов страницы, верхний / нижний колонтитул печати страницы будет отсутствовать. В этом случае вам, конечно, следует установить некоторые поля / отступы в своем элементе body, чтобы контент не доходил до края страницы. Поскольку обычные принтеры просто не могут печатать без полей и, вероятно, это не то, что вам нужно, вам следует использовать что-то вроде этого:
Как отметил Мартин в комментарии, если на странице есть длинный элемент, который прокручивается за одну страницу (например, большая таблица), поле игнорируется, и печатная версия будет выглядеть странно.
Во время оригинала этого ответа (май 2013 года) он работал только в Chrome, не уверен в этом сейчас, никогда не нужно было пытаться снова. Если вам нужна поддержка браузера, который не может работать, вы можете создать PDF-файл на лету и распечатать его (вы можете создать самопечатающий PDF-файл, встраивая в него JavaScript), но это огромная проблема.
источник
body { margin: 1.6cm; }
для меня игнорировалось правое поле (возможно, потому, что я использовалtext-align:right
), поэтому вместо этого я создал<div class="container">
для своего контента и использовал.container { margin: 1.6cm; }
вместо него.body { margin: 1.6cm; }
- поскольку это поле для всего документа - не будет учитывать вертикальные поля для многостраничных документов, кроме самого первого и последнего. К сожалению, я не могу придумать обходного пути.Я уверен, что добавление этого кода в ваш файл css решит проблему
Вы можете посетить это, чтобы узнать больше об этом
источник
Fire Fox :
moznomarginboxes
атрибут в<html>
Пример :
источник
Сегодня мой коллега наткнулся на ту же проблему.
Однако, поскольку решение "margin: 0" работает для браузеров на основе хрома, Internet Explorer продолжает печатать нижний колонтитул, даже если поля @page установлены на ноль.
Решение (больше похоже на взлом) заключалось в том, чтобы поставить отрицательный запас на @page.
Обратите внимание, что отрицательное поле не будет работать для оси Y, только для X
Надеюсь, поможет.
источник
Стандарт CSS допускает расширенное форматирование. В CSS есть директива @page, которая разрешает некоторое форматирование, применимое только к страничным носителям (например, бумаге). См. Http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html .
и для firefox используйте его
В Firefox https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383 (просмотреть источник страницы :: тег HTML).
В своем коде замените
<html>
на<html moznomarginboxes mozdisallowselectionprint>.
источник
источник
Это будет самое простое решение. Я пробовал большинство решений в Интернете, но мне помогло только это.
источник
@page { margin: 0; }
отлично работает в Chrome и Firefox. Я не нашел способа исправить IE через css. Но вы можете войти в Параметры страницы в IE на своем компьютере и установить поля равными 0. Нажмите alt, а затем меню файла в верхнем левом углу, и вы найдете Параметры страницы. Это работает только для одной машины за раз ...источник
1. Для Chrome и IE
Добавьте атрибут moznomarginboxes в Пример:
источник
Я пытался удалить верхний и нижний колонтитулы html-страницы, которую распечатал вручную.
Никакое решение на этой странице не сработало для меня, я просто определил свой собственный нижний колонтитул, как описано здесь, Firefox не добавлял бы свой собственный верхний и нижний колонтитулы.
К сожалению, это не работает в Chrome.
В CSS:
Добавьте это в свой HTML:
источник
Если вы прокрутите вниз до этого места, я нашел решение для Firefox. Он будет печатать содержимое из определенного div без нижних колонтитулов и заголовков. Вы можете настроить как хотите.
Сначала загрузите и установите это дополнение: JSPrintSetup .
Во-вторых, напишите эту функцию:
В-третьих, в вашем коде, где бы вы ни хотели написать код печати, сделайте это (я использовал JQuery. Вы можете использовать простой javascript):
Очевидно, вам нужна ссылка, по которой можно перейти:
И ваш div для печати:
источник
вам не нужно писать код. непосредственно перед вызовом window.print () в первый раз измените настройки печати вашего браузера. например в firefox:
и еще один пример для IE (я использую IE 11 для предыдущих версий, вы можете увидеть это Запретить Firefox или Internet Explorer печатать URL-адрес на каждой странице ):
источник