Як видалити URL із сторінки друку?


102

Я хочу видалити URL-адресу, яка надрукується внизу сторінки.

подібно до:

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

Як це можна опустити чи запобігти друкуванню?

Якщо бути більш конкретним, чи можна запобігти друкуванню URL-адреси сторінки, дати та заголовка сторінки під час друку веб-сторінки?


3
Чи можна це робити програмно? Це дійсно налаштування сторінки браузера!
Шобан

Повністю "налаштування сторінки веб-переглядача". Але я знайшов цей підручник трохи корисним для 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>

див. відповідь на Відключення параметрів друку браузера (заголовки, колонтитули, поля) зі сторінки?

та специфікація сторінки @


3
У Firefox 20.0 це не видаляє URL з попереднього перегляду друку
Міржан Іркегулов,


Чудова відповідь. Ще краще просто встановити нижню маржу, наприкладmargin-bottom: 0mm;
CompanyDroneFromSector7G

2
Це насправді працювало на моєму Firefox 50 @MirzhanIrkegulov
aexl

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

39

Я знайшов щось у самій стороні браузера.

Спробуйте виконати ці дії. тут я згадав кроки щодо відключення заголовка та нижнього колонтитулу у всіх трьох основних браузерах.

Chrome Натисніть значок меню у верхньому правому куті браузера. Клацніть Друк. Зніміть прапорці Заголовки та колонтитули в розділі Параметри.

Firefox Клацніть Firefox у верхньому лівому куті браузера. Наведіть курсор миші на пункт Друк і натисніть Налаштування сторінки. Перейдіть на вкладку Поля та заголовки / колонтитули. Змініть кожне значення в заголовках і колонтитулах на --blank--.

Internet Explorer Натисніть на значок шестерні у верхньому правому куті браузера. Наведіть курсор миші на пункт Друк і натисніть Налаштування сторінки. Змініть кожне значення в заголовках і колонтитулах на -порожнім.


18

Показ URL-адреси - це перевага клієнта браузера, недоступного для сценаріїв, що працюють у межах сторінки (припустимо, сторінка також не може мовчки друкувати себе).

Щоб уникнути "протікання" інформації через рядок запиту, ви можете подати через POST


1
noooo ... POST не є механізмом шифрування - це натяк на можливі побічні ефекти запиту.
troelskn

Замість того, щоб надрукувати довгу рядок запиту на багато рядків. Я буду радий надрукувати лише URL-адресу
Шобан,

рядок запиту є частиною URL-адреси. якщо URL занадто довгий, вам слід виправити це.
troelskn

4
Я не сказав, що це річ із шифруванням - вона видаляє параметри запиту з URL-адреси, яка була запитуваним фактором пом'якшення
Rowland Shaw,

11

Якщо встановити поле для сторінки, використовуючи код під заголовком, а нижні колонтитули пропущено з друкованої сторінки. Я перевірив це в FireFox та Chrome.

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

1
Зауважте, що це видаляє поле між сторінками у Firefox. Приклад: i.imgur.com/krDlC1K.png
Блез

8

Я розповідаю вам про Mozilla Firefox (сподіваюся, це має бути так само і в інших браузерах).

Клацніть на меню Firefox , перейдіть до друку , у підменю Друку виберіть Налаштування сторінки . На екрані з’явиться спливаюче вікно, перейдіть на вкладку «Поле та колонтитул / колонтитул» .

Виберіть "BLANK" для заголовка / нижнього колонтитулу відповідно до вимоги перед друком. Ви можете перевірити попередній перегляд для підтвердження.

Сподіваюся, це допоможе.


7

Це мені допомогло: Друкувати сторінку без посилань

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

чи можете ви поясніть це
М.сулеман Хан

У мене виникла проблема із гіперпосиланнями завантажувача, що показували його вміст href на сторінці друку. Це рішення допомогло мені виправити проблему.
Мохін

3

Ви можете видалити URL-адресу, що розповсюджується на друкованому документі, через налаштування веб-переглядача. Ви просто натисніть файл-> налаштування сторінки-> заголовок і нижній колонтитул, встановіть усі речі як порожні. допомогти тобі


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кнопку, щоб користувач міг натиснути.


Використовуючи ваше рішення, я все ще бачу " доменне ім'я.com ", надрукований у верхньому правому куті. Після цього все видалили.
Tod Birdsall

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, який повертає поля на свої місця. Дякую!
Tod Birdsall

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-перенаправленням на створений pdf.

Згенеровані pdfs у папці pfd_for_printing можуть діяти як кеш і видалятися завданням раз на день.


Я хочу надрукувати частину сторінки (зі стилями) у PDF ... Як це досягти? stackoverflow.com/questions/25082395/…
SearchForKnowledge

0

У Chrome 57 для мене працювало наступне, якщо ви маєте контроль над HTML-сторінкою, яку потрібно надрукувати (у моєму випадку мені потрібно було надрукувати невелику мітку 3х1 дюйма):

  • видаліть елемент заголовка HTML із заголовка (тимчасово використовуючи jquery або назавжди, якщо для цієї сторінки не потрібен заголовок)
  • встановіть @page margin на 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 не відображається .Але при використанні цього ви втрачаєте номер сторінки.
Прамод Дешмух

Я хочу видалити лише URL-адресу сторінки на друк, а не номер сторінки
Прамод Дешмух



-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 це не працює.
Рубен S

-3

Ну, я шукав увесь шлях вгору і вниз, тому що мені потрібна відповідь для мене та моїх проектів, і я прийшов до висновку, що насправді незалежно від того, яку інформацію ви показуєте в URL-адресі, вона стосується:

if (!$_SESSION["valid_user"]) 

Тож навіть якщо хтось просто набере точну адресу з вашої надрукованої сторінки, він отримає .... сторінку входу :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.