URL yazdırma sayfasından nasıl kaldırılır?


102

Sayfanın altına yazdırılan URL'yi kaldırmak istiyorum.

sevmek:

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

Nasıl çıkarılabilir veya yazdırılması engellenebilir?

Daha spesifik olmak gerekirse, web sayfasını yazdırırken sayfa URL'sinin, tarihinin ve sayfa başlığının yazdırılmasını engellememin herhangi bir yolu var mı?


3
Bu programlı olarak yapılabilir mi? Gerçekten bir tarayıcı sayfası kurulumu!
Shoban

Tamamen bir 'tarayıcı sayfası kurulumu' şeyi. Ancak bu öğreticiyi baskı sayfası CSS'si için biraz yararlı buldum .
Mayeenul Islam

Yanıtlar:


123

Aşağıdaki kod örneği sizin için çalışacaktır,

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

Sayfadaki tarayıcı yazdırma seçeneklerini (üstbilgiler, altbilgiler, kenar boşlukları) devre dışı bırakma konusundaki yanıtı görüyor musunuz?

ve @page belirtimi


3
Firefox
20.0'da


Mükemmel cevap. Daha da iyisi, alt marjı ayarlayın, örneğinmargin-bottom: 0mm;
CompanyDroneFromSector7G

2
Bu aslında Firefox 50 @ MirzhanIrkegulov'umda çalıştı
aexl

Konuyu başlatan kişi, bir tarayıcının baskı önizleme sırasında eklediği üst ve alt kolon başlıklarının (url sayfa numarası başlığı) nasıl kaldırılacağını sordu.
Pavel Nazarov

39

tarayıcı tarafında kendisinde bir şey buldum.

Bu adımları deneyin. Burada, üç ana tarayıcıda Üstbilgi ve altbilgiyi devre dışı bırakma Adımlarından bahsedilmiştim.

Chrome Tarayıcının sağ üst köşesindeki Menü simgesine tıklayın. Yazdır seçeneğine tıklayın. Seçenekler bölümünün altındaki Üstbilgiler ve Altbilgiler'in işaretini kaldırın.

Firefox Tarayıcının sol üst köşesindeki Firefox'a tıklayın. Farenizi Yazdır'ın üzerine getirin, Sayfa Yapısı'na tıklayın. Kenar Boşlukları ve Üstbilgi / Altbilgi sekmesine tıklayın. Üstbilgiler ve Altbilgiler altındaki her değeri - boş-- olarak değiştirin.

Internet Explorer Tarayıcının sağ üst köşesindeki Dişli simgesine tıklayın. Farenizi Yazdır'ın üzerine getirin, ardından Sayfa Yapısı'nı tıklayın. Üstbilgiler ve Altbilgiler altındaki her değeri -Boş- olarak değiştirin.


18

URL'nin gösterilmesi, bir tarayıcı istemcisi tercihidir, sayfada çalışan komut dosyaları tarafından erişilebilir değildir (kabul edelim, bir sayfa da sessizce yazdıramaz).

Sorgu dizesi yoluyla "sızıntıyı" önlemek için POST yoluyla gönderebilirsiniz


1
noooo ... POST bir şifreleme mekanizması değildir - isteğin olası yan etkileri hakkında bir ipucudur.
troelskn

Uzun çok satırlı bir sorgu dizisi yazdırmak yerine. Sadece url'yi yazdırmaktan mutluluk
duyarım

sorgu dizesi url'nin bir parçasıdır. url çok uzunsa, bunun yerine onu düzeltmelisiniz.
troelskn

4
Bunun bir şifreleme meselesi olduğunu söylemedim - sorgu parametrelerini URL'den kaldırıyor, bu istenen bir azaltma faktörü idi
Rowland Shaw

11

Bir sayfanın kenar boşluğunu üstbilgi altındaki kodu kullanarak ayarlarsanız ve altbilgiler yazdırılan sayfadan çıkarılır. Bunu FireFox ve Chrome'da test ettim.

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

1
Bunun Firefox'ta sayfalar arasındaki kenar boşluğunu ortadan kaldırdığını unutmayın. Örnek: i.imgur.com/krDlC1K.png
Blaise

8

Size Mozilla Firefox'tan bahsediyorum (umarım diğer tarayıcılarda da aynı şekilde olmalıdır).

Tıklayın Firefox menüsünden , Go için Print Select, Sayfa Kurulum Print alt menüsünden. Ekranınızda bir açılır pencere belirecek, orada "Kenar Boşluğu ve Üstbilgi / Altbilgi" sekmesine gidin.

Bunun içinde "BLANK" ı seçinBunda, yazdırmadan önce gereksinime göre üstbilgi / altbilgi için . Onay için önizlemeyi kontrol edebilirsiniz.

Umarım bu yardımcı olacak.



3

Tarayıcı ayarlarınız aracılığıyla basılı belgede görünen url'yi kaldırabilirsiniz. Dosya-> sayfa düzeni-> üstbilgi ve altbilgiyi tıklamanız yeterli. Yani eğer varsa, altbilgi metin kutusundan & U kaldırırsınız. Umarım bu olacak sana yardım etmek


2

Gerçek grafiğinizdeki bir altbilgiden mi yoksa tarayıcı içindeki yazdırma işleminin yaptığı url'den mi bahsediyorsunuz bilmiyorum.

Url ise, bunu kapatmak için bir özelliği varsa, yazdırma işlemi tarayıcıya gerçekten bağlı.

Altbilgi bilgisiyse, bir baskı stil sayfası kullanmanızı ve bu stil sayfası içinde yapmanızı öneririm

display: none;

Altbilginin belirli kimliği veya sınıfı için.

Bir baskı stil sayfası yapmak için, bunu başa eklemeniz gerekir.

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

2

Günümüzde kullanabilirsiniz history APIbaskı öncesi URL'yi değiştirmek için, sonra tekrar değiştirin:

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

Ancak PRINTkullanıcının tıklaması için özel bir düğme oluşturmanız gerekir .


Çözümünüzü kullanarak hala sağ üst köşede "alan- adı.com " yazılı olduğunu görüyorum . Ondan sonra her şeyi kaldırdı.
Tod Birdsall

1

Google Chrome'da bu, kenar boşluklarını 0 olarak ayarlayarak veya garip yazdırırsa, ardından istenmeyen metni sayfanın yazdırılamayan alanlarına itecek kadar ayarlayarak yapılabilir. Denedim ve işe yarıyor: D

görüntü açıklamasını buraya girin


1

Tarayıcı sorunu ancak şunlarla çözülebilir:

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

Kenar boşluklarını yerine koyan CSS'yi dahil ettiğiniz için olumlu oy verildi. Teşekkürler!
Tod Birdsall

0

Bunun bir tarayıcı ayarları olduğunu söyleyen cevapların çoğuna katılıyorum, ancak yine de COM aracılığıyla istediğinizi elde edebilirsiniz. Çoğu tarayıcının yine de sorun yaşayacağını ve hatta IE'nin bile COM güvenlik çubuğunu kullanıcılara yükselteceğini unutmayın. Dolayısıyla, organizasyon içinde teklif ettiğiniz bir şey olmadığı sürece, bunu yapmayın.


0

Bende de aynı sorun var. Bir jquery eklentisi aracılığıyla yazdırmak için HTML oluşturmanın mümkün olup olmadığını merak ediyorum: http://www.recoding.it/?p=138

Sonra HTML'yi bir php betiğine gönderin (bir ajax çağrısı kullanarak), http://www.xhtml2pdf.com/ veya http://code.google.com/p/wkhtmltopdf/ ile bir pdf oluşturun .

Daha sonra pdf görüntülenebilir (uygun içerik türü ve doğrudan işleme ayarlanarak) veya oluşturulan pdf'ye bir http-Yönlendirmesi ile görüntülenebilir.

Pfd_for_printing-klasöründe oluşturulan pdf'ler önbellek görevi görebilir ve günde bir iş tarafından silinebilir.


Sayfanın bir bölümünü (stillerle) PDF'ye yazdırmak istiyorum ... Bunu nasıl başarabilirim? stackoverflow.com/questions/25082395/…
SearchForKnowledge

0

Chrome 57'de, yazdırılması gereken HTML sayfasının kontrolüne sahipseniz aşağıdakiler benim için çalıştı (benim durumumda 3x1 inçlik küçük bir etiket yazdırmam gerekiyordu):

  • HTML başlık öğesini başlıktan kaldırın (geçici olarak jquery kullanarak veya o sayfanın gerçekten bir başlığa ihtiyacı yoksa kalıcı olarak)
  • @Chamika Sandamal tarafından belirtildiği gibi @sayfa marjını 0 olarak ayarlayın

Bu, yalnızca gövde metnini içeren, URL içermeyen, sayfa numarası içermeyen bir sayfanın yazdırılmasına neden oldu.


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>

bu kod sadece marjı kaldırır. bu yüzden url görüntülenmez. ama bunu kullandığınızda sayfa numarasını kaybedersiniz.
Pramod Deshmukh

sayfa numarası değil, yalnızca yazdırılan sayfa url'sini kaldırmak istiyorum
Pramod Deshmukh


0

Bu benim için jquery kullanarak iyi çalışıyor

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

-1

Belki Chrome'u deneyebilirsiniz (Muhtemelen Safari de)

Google Chrome ile OSX'te pdf olarak yazdırdığımda üstbilgi ve altbilgideki url ve sayfa numarası görünmüyor.

Maalesef bunun Windows için geçerli olup olmadığından emin değilim


-1

Firefox’taki yazdırma sayfasından kaldırmak için bir numaram var. Bunu kullan:

<html moznomarginboxes mozdisallowselectionprint>

Html etiketinde kullanmanız gerekir moznomarginboxes mozdisallowselectionprint. Eminim size çok yardımcı olacaktır.


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

Bu bağlantıyı kontrol edin


1
Merhaba SO'ya hoş geldiniz, bu soruyu cevaplamaya çalıştığınız için teşekkür ederiz. Cevabınızın ve düzeltmenizin arkasındaki mantığın ardında daha fazla açıklama sağlayabilir misiniz? Şerefe!
James Wong - Monica'yı eski haline

Merhaba, Teşekkürler, bu kromda mükemmel çalışıyor (en azından), insanların neden bu mükemmel çözümü oyladığını bilmiyorum.
Saman

-1

Bu, en basit çözüm olacak. İnternetteki çözümlerin çoğunu denedim ama sadece bu bana yardımcı oldu.

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

    @page :header {
        display: none
    }
}

1
Bu hangi tarayıcıda çalışıyor? Chrome 80'de çalışmıyor.
Ruben S
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.