Как удалить 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-адрес из предварительного просмотра
Миржан Иркегулов,
2
Решение для Firefox: stackoverflow.com/questions/2192806/…
Константин Вдовкин,
Отличный ответ. Еще лучше просто установить нижнее поле, например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>
Md. Hasibul Huq
источник
Проголосовали за то, что вы добавили 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
@media print { a[href]:after { content: none !important; } }
Рашид Хитилов
источник
0

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

<style>
  @media print { @page { margin: 0; } 
   body { margin: 1.6cm; } }
</style>
Мугиш Хусейн
источник
-1

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

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

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

PhilD
источник
-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,