จะลบ URL ออกจากหน้าพิมพ์ได้อย่างไร?


104

ฉันต้องการลบ URL ที่พิมพ์ที่ด้านล่างของหน้า

ชอบ:

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

จะเว้นหรือป้องกันไม่ให้พิมพ์ได้อย่างไร?

เพื่อให้เจาะจงมากขึ้นมีวิธีใดบ้างที่ฉันสามารถป้องกันไม่ให้พิมพ์ URL ของหน้าวันที่และชื่อหน้าขณะพิมพ์หน้าเว็บได้


3
สามารถทำได้โดยใช้โปรแกรมหรือไม่? มันเป็นการตั้งค่าหน้าเบราว์เซอร์จริงๆ!
Shoban

"การตั้งค่าหน้าเบราว์เซอร์" โดยสิ้นเชิง แต่ฉันพบว่าบทช่วยสอนนี้มีประโยชน์เล็กน้อยสำหรับ CSS ของหน้าพิมพ์
Mayeenul Islam

คำตอบ:


126

ตัวอย่างโค้ดต่อไปนี้จะเหมาะกับคุณ

<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 ออกจากตัวอย่างก่อนพิมพ์
Mirzhan Irkegulov


คำตอบที่ดี ยิ่งไปกว่านั้นเพียงกำหนดระยะขอบล่างเช่นmargin-bottom: 0mm;
CompanyDroneFromSector7G

2
สิ่งนี้ใช้งานได้จริงบน Firefox 50 ของฉัน @MirzhanIrkegulov
aexl

ผู้เริ่มหัวข้อถามวิธีการลบ colontitles ด้านบนและด้านล่าง (url page number title) ที่เบราว์เซอร์เพิ่มในระหว่างการแสดงตัวอย่างก่อนพิมพ์
Pavel Nazarov

39

ฉันพบบางอย่างในฝั่งเบราว์เซอร์เอง

ลองทำตามขั้นตอนนี้ ที่นี่ฉันได้กล่าวถึงขั้นตอนในการปิดใช้งานส่วนหัวและส่วนท้ายในเบราว์เซอร์หลักทั้งสาม

Chrome คลิกไอคอนเมนูที่มุมขวาบนของเบราว์เซอร์ คลิกพิมพ์ ยกเลิกการเลือกส่วนหัวและส่วนท้ายใต้ส่วนตัวเลือก

Firefox คลิก Firefox ที่มุมบนซ้ายของเบราว์เซอร์ วางเมาส์เหนือพิมพ์คลิกตั้งค่าหน้ากระดาษ คลิกแท็บระยะขอบและส่วนหัว / ท้ายกระดาษ เปลี่ยนแต่ละค่าภายใต้ส่วนหัวและส่วนท้ายเป็น --blank--

Internet Explorer คลิกไอคอนรูปเฟืองที่มุมขวาบนของเบราว์เซอร์ วางเมาส์เหนือพิมพ์จากนั้นคลิกตั้งค่าหน้ากระดาษ เปลี่ยนแต่ละค่าภายใต้ส่วนหัวและส่วนท้ายเป็น -Empty-


18

การแสดง URL เป็นการกำหนดค่าตามความชอบไคลเอ็นต์ของเบราว์เซอร์ไม่สามารถเข้าถึงสคริปต์ที่ทำงานอยู่ภายในเพจได้ (ลองดูหน้าเพจไม่สามารถพิมพ์แบบเงียบ ๆ ได้เช่นกัน)

เพื่อหลีกเลี่ยงการ "รั่วไหล" ข้อมูลผ่านสตริงข้อความค้นหาคุณสามารถส่งผ่าน POST


1
noooo ... POST ไม่ใช่กลไกการเข้ารหัส - เป็นคำใบ้เกี่ยวกับผลข้างเคียงที่อาจเกิดขึ้นจากคำขอ
troelskn

แทนที่จะกำหนดสตริงการสืบค้นหลายบรรทัดแบบยาว ฉันยินดีที่จะพิมพ์เพียง url
Shoban

สตริงการสืบค้นเป็นส่วนหนึ่งของ 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
Blaise

8

ฉันกำลังบอกคุณเกี่ยวกับ Mozilla Firefox (ฉันหวังว่ามันควรจะเป็นแบบเดียวกันกับเบราว์เซอร์อื่นด้วย)

คลิกที่เมนู Firefoxไปที่PrintเลือกPage Set Upจากเมนูย่อยของ Print ป๊อปจะปรากฏขึ้นบนหน้าจอของคุณไปที่ แท็บ"Margin & Header / Footer"

ในนั้นให้เลือก"BLANK"สำหรับส่วนหัว / ส่วนท้ายตามความต้องการก่อนพิมพ์ คุณสามารถตรวจสอบตัวอย่างเพื่อยืนยัน

ฉันหวังว่านี่จะช่วยได้


7

สิ่งนี้ช่วยฉัน: พิมพ์หน้าที่ไม่มีลิงก์

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

คุณช่วยอธิบายเรื่องนี้ได้
ไหม

ฉันมีปัญหากับการเชื่อมโยงหลายมิติ bootstrap ที่แสดงเนื้อหา href บนหน้าพิมพ์ โซลูชันนี้ช่วยฉันแก้ไขปัญหา
Mohsin

3

คุณสามารถลบ url dispalying บนเอกสารที่พิมพ์ผ่านการตั้งค่าเบราว์เซอร์ของคุณคุณเพียงแค่คลิก file-> page setup-> header and footer ตั้งค่าทุกอย่างเป็นค่าว่างถ้าคุณมีปัญหาเช่นคุณเพียงแค่ลบ & U ออกจากกล่องข้อความส่วนท้ายหวังว่าสิ่งนี้จะทำได้ ช่วยคุณ


2

ฉันไม่ทราบว่าคุณกำลังพูดถึงส่วนท้ายภายในกราฟิกจริงของคุณหรือ URL ที่กระบวนการพิมพ์ภายในเบราว์เซอร์กำลังทำอยู่

หากเป็น url กระบวนการพิมพ์จะขึ้นอยู่กับเบราว์เซอร์หากเขามีคุณสมบัติในการปิดใช้งาน

หากเป็นข้อมูลส่วนท้ายฉันขอแนะนำให้ใช้สไตล์ชีทการพิมพ์และภายในสไตล์ชีตนั้น

display: none;

สำหรับ ID เฉพาะหรือคลาสของส่วนท้าย

ในการพิมพ์สไตล์ชีตคุณต้องเพิ่มสิ่งนี้ลงในส่วนหัว

<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 " พิมพ์อยู่ที่มุมขวาบน มันลบทุกอย่างออกไปหลังจากนั้น
Tod Birdsall

2

ปัญหาเกี่ยวกับเบราว์เซอร์ แต่สามารถแก้ไขได้โดย:

<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


1

ใน Google Chrome สามารถทำได้โดยตั้งค่าระยะขอบเป็น 0 หรือถ้าพิมพ์ขี้ขลาดจากนั้นปรับให้เพียงพอเพื่อดันข้อความที่ไม่ต้องการไปยังส่วนที่ไม่สามารถพิมพ์ได้ของหน้า ฉันลองแล้วและได้ผล: D

ป้อนคำอธิบายภาพที่นี่



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

0

ใน Chrome 57 สิ่งต่อไปนี้ใช้ได้ผลสำหรับฉันหากคุณสามารถควบคุมหน้า HTML ที่ต้องพิมพ์ได้ (ในกรณีของฉันฉันต้องพิมพ์ฉลากขนาดเล็ก 3x1 นิ้ว):

  • ลบองค์ประกอบหัวเรื่อง HTML ออกจากส่วนหัว (ใช้ jquery ชั่วคราวหรือถาวรหากหน้านั้นไม่ต้องการชื่อเรื่อง)
  • ตั้งค่าขอบหน้า @ เป็น 0 ตามที่ @Chamika Sandamal กล่าวไว้

ส่งผลให้พิมพ์หน้าที่มีเฉพาะเนื้อหาเนื้อหาไม่มี URL ไม่มีหน้า #s เป็นต้น


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 ของหน้าที่พิมพ์ไม่ใช่เลขหน้า
Pramod Deshmukh

-1

บางทีคุณอาจลองใช้ chrome (อาจเป็น 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 ขอขอบคุณที่พยายามตอบคำถามนี้ คุณสามารถให้คำอธิบายเพิ่มเติมเบื้องหลังคำตอบและตรรกะเบื้องหลังการแก้ไขของคุณได้หรือไม่? ไชโย!
James Wong - คืนสถานะ Monica

สวัสดีขอบคุณมันทำงานได้อย่างสมบูรณ์แบบใน Chrome (อย่างน้อย) ฉันไม่รู้ว่าทำไมคนถึงโหวตให้โซลูชันที่สมบูรณ์แบบนี้
สมาน

-1

นี่จะเป็นทางออกที่ง่ายที่สุด ฉันลองใช้วิธีแก้ปัญหาส่วนใหญ่ในอินเทอร์เน็ต แต่สิ่งนี้ช่วยฉันได้

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

    @page :header {
        display: none
    }
}

1
สิ่งนี้ทำงานในเบราว์เซอร์ใด ใน Chrome 80 ไม่ทำงาน
Ruben S
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.