Как удалить URL-адрес со страницы печати?


102

Я хочу удалить URL-адрес, который печатается внизу страницы.

лайк:

yomari.com/.../main.php?sen_n

Как его можно пропустить или предотвратить печать?

Чтобы быть более конкретным, могу ли я предотвратить печать URL-адреса страницы, даты и заголовка страницы при печати веб-страницы?


3
Можно ли это сделать программно? Это действительно настройка страницы в браузере!
Shoban

Полностью «настройка страницы браузера». Но я нашел этот учебник немного полезным для печати CSS страницы.
Mayeenul Islam

Ответы:


123

Следующий пример кода будет работать для вас,

<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>

посмотреть ответ на Отключение параметров печати браузера (верхние, нижние колонтитулы, поля) со страницы?

и спецификация @page


3
В Firefox 20.0 это не удаляет URL-адрес из предварительного просмотра
Миржан Иркегулов,


Отличный ответ. Еще лучше просто установить нижнее поле, напримерmargin-bottom: 0mm;
CompanyDroneFromSector7G

2
Это действительно сработало на моем Firefox 50 @MirzhanIrkegulov
aexl 03

Автор темы спросил, как удалить верхний и нижний колонтитры (название страницы с URL-адресом), которые браузер добавляет во время предварительного просмотра.
Павел Назаров

39

я нашел кое-что в самом браузере.

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

Chrome Щелкните значок меню в правом верхнем углу браузера. Щелкните Печать. Снимите флажок «Верхние и нижние колонтитулы» в разделе «Параметры».

Firefox Щелкните Firefox в верхнем левом углу браузера. Наведите указатель мыши на «Печать» и щелкните «Параметры страницы». Щелкните вкладку Поля и верхний / нижний колонтитул. Измените каждое значение в разделе Верхние и нижние колонтитулы на --blank--.

Internet Explorer Щелкните значок шестеренки в правом верхнем углу браузера. Наведите указатель мыши на «Печать» и нажмите «Параметры страницы». Измените каждое значение в разделе «Верхние и нижние колонтитулы» на «Пусто».


18

Отображение URL-адреса - это предпочтение клиента браузера, недоступное для скриптов, запущенных на странице (давайте посмотрим правде в глаза, страница также не может автоматически печатать себя).

Чтобы избежать "утечки" информации через строку запроса, вы можете отправить через POST


1
неееет ... POST - это не механизм шифрования - это подсказка о возможных побочных эффектах запроса.
troelskn

Вместо вывода длинной многострочной строки запроса. Я буду счастлив напечатать только URL-адрес
Шобан

строка запроса является частью URL-адреса. если URL-адрес слишком длинный, вам следует исправить это.
troelskn

4
Я не сказал, что это связано с шифрованием - оно действительно удаляет параметры запроса из URL-адреса, который был запрошенным фактором смягчения последствий
Роуленд Шоу

11

Если вы устанавливаете поле для страницы с помощью кода ниже, верхний и нижний колонтитулы не отображаются на печатной странице. Я тестировал это в FireFox и Chrome.

<style media="print">
 @page {
  size: auto;
  margin: 0;
       }
</style>

1
Обратите внимание, что это удаляет поле между страницами в Firefox. Пример: i.imgur.com/krDlC1K.png
Блез

8

Я рассказываю вам о Mozilla Firefox (надеюсь, так же должно быть и в других браузерах).

Нажмите на меню Firefox , перейдите к печати , выберите страницу Set Up из подменю эстампа. На вашем экране появится всплывающее окно, там перейдите на вкладку «Margin & Header / Footer» .

В этом случае выберите «ПУСТО» для верхнего / нижнего колонтитула в соответствии с требованиями перед печатью. Вы можете проверить предварительный просмотр для подтверждения.

Я надеюсь, это поможет.


7

Мне помогло: Распечатать страницу без ссылок

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

не могли бы вы объяснить это?
M.suleman Khan

У меня возникла проблема с гиперссылками начальной загрузки, отображающими его содержимое href на странице печати. Это решение помогло мне решить проблему.
Mohsin

3

Вы можете удалить отображение URL-адреса в печатном документе в настройках вашего браузера. Вы просто нажимаете файл-> настройки страницы-> верхний и нижний колонтитулы устанавливают все как пустые. Если у вас есть, то есть вы просто удалите & U из текстового поля нижнего колонтитула. Надеюсь, это будет помочь тебе


2

Я не знаю, говорите ли вы о нижнем колонтитуле в реальном изображении или об URL-адресе, который выполняется в процессе печати в браузере.

Если это URL-адрес, процесс печати действительно зависит от браузера, если у него есть функция, чтобы отключить это.

Если это информация о нижнем колонтитуле, я бы рекомендовал использовать таблицу стилей печати и в этой таблице стилей, чтобы сделать

display: none;

Для конкретного идентификатора или класса нижнего колонтитула.

Чтобы сделать таблицу стилей печати, вам нужно добавить ее в заголовок.

<link rel="stylesheet" type="text/css" href="/css/print.css" media="print" />

2

В настоящее время вы можете использовать history APIдля изменения URL-адреса перед печатью, а затем изменить обратно:

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

Но нужно сделать заказ PRINT кнопку для нажатия пользователем.


Используя ваше решение, я все еще вижу " domain-name.com ", напечатанное в правом верхнем углу. После этого все удалил.
Тод Бердсолл,

1

В Google Chrome это можно сделать, установив поля на 0 или, если он печатается в стиле фанк, а затем отрегулировать его настолько, чтобы вытолкнуть нежелательный текст в непечатаемые области страницы. Я пробовал и работает: D

введите описание изображения здесь


1

Проблема с браузером, но может быть решена следующими способами:

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

Проголосовали за то, что вы добавили CSS, который возвращает поля на место. Спасибо!
Тод Бердсолл,

0

Я согласен с большинством ответов, в которых говорится, что это настройки браузера, но все же вы можете достичь того, чего хотите, через COM. Имейте в виду, что у большинства браузеров по-прежнему будут проблемы с этим, и даже IE поднимет планку безопасности COM для пользователей. Так что, если это не то, что вы предлагаете внутри организации, не делайте этого.


0

У меня та же проблема. Интересно, можно ли создать HTML для печати через плагин jquery: http://www.recoding.it/?p=138

Затем отправьте HTML-код в php-скрипт (используя вызов ajax), сгенерируйте PDF-файл с помощью http://www.xhtml2pdf.com/ или http://code.google.com/p/wkhtmltopdf/ .

После этого PDF-файл может быть отображен (путем установки соответствующего типа содержимого и прямого рендеринга) или отображен с помощью http-Redirect в сгенерированный PDF-файл.

Сгенерированные PDF-файлы в папке pfd_for_printing могут действовать как кеш и удаляться заданием один раз в день.


Я хочу напечатать часть страницы (со стилями) в PDF ... Как мне этого добиться? stackoverflow.com/questions/25082395/…
SearchForKnowledge 01

0

В Chrome 57 у меня сработало следующее, если у вас есть контроль над HTML-страницей, которую нужно распечатать (в моем случае мне нужно было напечатать небольшую этикетку 3x1 дюйма):

  • удалите элемент заголовка HTML из заголовка (либо временно, используя jquery, либо навсегда, если этой странице действительно не нужен заголовок)
  • установите для поля @page значение 0, как указано @Chamika Sandamal

Это привело к печати страницы, которая содержала только основной текст, без URL-адресов, без номеров страниц и т. Д.


0
<style type="text/css" media="print">
  @page {
    size: auto;  
    margin: 0;  
  }
</style>
//now set manual padding to body
<style>
  body{
    padding-left: 1.3cm;
    padding-right: 1.3cm; 
    padding-top: 1.1cm;
  }
</style>

этот код удаляет только поля. поэтому url не отображается. но когда вы используете это, вы теряете номер страницы.
Pramod Deshmukh

я хочу удалить только URL страницы при печати, а не номер страницы
Прамод Дешмук


0

Это отлично работает для меня, используя jquery

<style>
  @media print { @page { margin: 0; } 
   body { margin: 1.6cm; } }
</style>

-1

Возможно, вы могли бы попробовать хром (возможно, также Safari)

URL-адрес и номер страницы в верхнем и нижнем колонтитулах не отображаются, когда я печатаю в pdf на OSX с помощью Google Chrome.

Извините, не уверен, относится ли это к Windows


-1

У меня есть трюк, чтобы удалить его со страницы печати в Firefox. Использовать это:

<html moznomarginboxes mozdisallowselectionprint>

В теге html вы должны использовать moznomarginboxes mozdisallowselectionprint. Я уверен, что это вам очень поможет.


-1
@media print {
    #Header, #Footer { display: none !important; }
}

Проверить эту ссылку


1
Здравствуйте, добро пожаловать в SO, спасибо за попытку ответить на этот вопрос. Не могли бы вы дать более подробное объяснение своего ответа и логики вашего исправления? Ура!
Джеймс Вонг - Восстановить Монику

Привет, спасибо, это отлично работает в хроме (по крайней мере), я не знаю, почему люди проголосовали за это идеальное решение.
Саман

-1

Это будет самое простое решение. Я пробовал большинство решений в Интернете, но мне помогло только это.

@print {
    @page :footer {
        display: none
    }

    @page :header {
        display: none
    }
}

1
В каком браузере это работает? В Chrome 80 это не работает.
Ruben S,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.