【问题标题】:How to remove the URL from the printing page?如何从打印页面中删除 URL?
【发布时间】:2010-10-09 18:33:23
【问题描述】:

我想删除打印在页面底部的 URL。

喜欢:

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

如何省略或防止打印?

更具体地说,有什么方法可以防止在打印网页时同时打印页面 URL、日期和页面标题?

【问题讨论】:

  • 可以以编程方式完成吗?它真的是一个浏览器页面设置!
  • 完全是“浏览器页面设置”。但我发现this tutorial 对打印页面 CSS 有点帮助。

标签: html printing footer


【解决方案1】:

以下代码示例将为您工作,

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

Disabling browser print options (headers, footers, margins) from page?上查看答案

specification of the @page

【讨论】:

  • 在 Firefox 20.0 上,这不会从打印预览中删除 URL
  • 很好的答案。最好只设置底部边距,例如margin-bottom: 0mm;
  • 这实际上在我的 Firefox 50 上工作 @MirzhanIrkegulov
  • 主题发起人询问如何删除浏览器在打印预览期间添加的顶部和底部冒号(url页码标题)。
【解决方案2】:

我在浏览器端本身发现了一些东西。

试试这个步骤。 这里我提到了在所有三个主要浏览器中禁用页眉和页脚的步骤。

单击浏览器右上角的菜单图标。 单击打印。 取消选中选项部分下的页眉和页脚。

火狐 单击浏览器左上角的 Firefox。 将鼠标放在打印上,单击页面设置。 单击边距和页眉/页脚选项卡。 将页眉和页脚下的每个值更改为 --blank--。

Internet Explorer 单击浏览器右上角的齿轮图标。 将鼠标放在打印上,然后单击页面设置。 将页眉和页脚下的每个值更改为 -Empty-。

【讨论】:

    【解决方案3】:

    显示 URL 是浏览器客户端首选项,页面内运行的脚本无法访问(让我们面对现实,页面也不能静默打印自己)。

    为避免通过查询字符串“泄露”信息,您可以通过 POST 提交

    【讨论】:

    • noooo ... POST 不是加密机制 - 它是对请求可能产生的副作用的提示。
    • 而不是打印一个长的多行查询字符串。我很乐意只打印网址
    • 查询字符串是 url 的一部分。如果 url 太长,你应该改正它。
    • 我没有说这是一个加密的东西——它确实从 URL 中删除了查询参数,这是一个请求的缓解因素
    【解决方案4】:

    如果您使用下面的代码为页面设置页边距,则打印页面会省略页眉和页脚。我已经在 FireFox 和 Chrome 中对此进行了测试。

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

    【讨论】:

    【解决方案5】:

    这对我有帮助: Print page without links

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

    【讨论】:

    • 你能解释一下吗
    • 我遇到了引导超链接在打印页面上显示其 href 内容的问题。这个解决方案帮助我解决了这个问题。
    • 就像一个魅力。谢谢
    【解决方案6】:

    浏览器问题,但可以通过以下方式解决:

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

    【讨论】:

    • 赞成,因为您包含了将边距放回原处的 CSS。谢谢!
    【解决方案7】:

    我在告诉你有关 Mozilla Firefox 的信息(我希望它在其他浏览器中也应该如此)。

    点击Firefox菜单,进入打印,从打印的子菜单中选择页面设置。屏幕上会弹出一个弹出窗口,转到 “边距和页眉/页脚” 选项卡。

    在打印前根据要求为页眉/页脚选择“BLANK”。您可以查看预览进行确认。

    我希望这会有所帮助。

    【讨论】:

      【解决方案8】:

      现在,您可以在打印前使用history API修改URL,然后再改回来:

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

      但是您需要制作一个自定义的PRINT 按钮供用户点击。

      【讨论】:

      • 使用您的解决方案,我仍然看到右上角印有“domain-name.com”。之后它删除了所有内容。
      • 这在 SPA 中不起作用,因为客户端路由器在打印之前更改了视图。
      【解决方案9】:

      您可以通过浏览器设置删除打印文档上显示的 url。您只需单击文件->页面设置->页眉和页脚将所有内容设置为空白。如果您有,只需从页脚文本框中删除 &U。希望这会对你有所帮助

      【讨论】:

        【解决方案10】:

        我不知道您是在谈论实际图形中的页脚还是浏览器中的打印过程正在执行的 url。

        如果它的 url 打印过程正在做它真的取决于浏览器,如果他有一个功能来关闭它。

        如果它是页脚信息,我建议使用打印样式表并在该样式表中执行

        display: none;
        

        对于页脚的特定 ID 或类。

        要打印样式表,您需要将其添加到头部。

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

        【讨论】:

          【解决方案11】:
          @media print { a[href]:after { content: none !important; } }
          

          【讨论】:

            【解决方案12】:

            使用 jquery 对我来说效果很好

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

            【讨论】:

              【解决方案13】:

              在谷歌浏览器中,这可以通过将边距设置为 0 来完成,或者如果打印出时髦,然后将其调整到足以将不需要的文本推送到页面的不可打印区域。我试过了,它有效:D

              【讨论】:

                【解决方案14】:

                在 Chrome 57 上,如果您可以控制需要打印的 HTML 页面(在我的情况下,我需要打印一个 3x1 英寸的小标签),以下对我有用:

                • 从标题中删除 HTML 标题元素(临时使用 jquery 或永久如果该页面不需要标题)
                • 如@Chamika Sandamal 所述,将@page 页边距设置为0

                这导致打印的页面仅包含正文,没有 URL,没有页面 #s 等。

                【讨论】:

                  【解决方案15】:

                  我同意大多数答案,说它是一个浏览器设置,但你仍然可以通过 COM 实现你想要的。请记住,大多数浏览器仍然会遇到问题,甚至 IE 也会向用户提高 COM 安全栏。因此,除非它不是您在组织内提供的东西,否则不要这样做。

                  【讨论】:

                    【解决方案16】:

                    我也有同样的问题。我想知道是否可以通过 jquery 插件创建用于打印的 HTML:http://www.recoding.it/?p=138

                    然后将 HTML 发送到 php 脚本(使用 ajax 调用),生成带有 http://www.xhtml2pdf.com/http://code.google.com/p/wkhtmltopdf/ 的 pdf。

                    之后可以显示 pdf(通过设置适当的内容类型和直接渲染)或通过 http-Redirect 显示到生成的 pdf。

                    在 pfd_for_printing-folder 中生成的 pdf 文件可以作为缓存,每天被作业删除一次。

                    【讨论】:

                    【解决方案17】:
                    <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 不显示的原因。但是当您使用它时,您会丢失页码。
                    • 我只想删除打印页面上的网址而不是页码
                    【解决方案18】:

                    Chrome headless 现在支持一个额外的选项--print-to-pdf-no-header,它从打印的 PDF 文件中删除了页眉和页脚

                    【讨论】:

                      【解决方案19】:

                      也许你可以试试 chrome(也可能是 Safari)

                      当我在 OSX 上使用 Google Chrome 打印到 pdf 时,页眉和页脚中的 url 和页码不可见。

                      抱歉,不确定这是否适用于 windows

                      【讨论】:

                        【解决方案20】:

                        我有一个技巧可以将它从 Firefox 的打印页面中删除。使用这个:

                        <html moznomarginboxes mozdisallowselectionprint>
                        

                        在 html 标签中你必须使用moznomarginboxes mozdisallowselectionprint。我相信它会对你有很大帮助。

                        【讨论】:

                          【解决方案21】:
                          @media print {
                              #Header, #Footer { display: none !important; }
                          }
                          

                          查看link

                          【讨论】:

                          • 您好,欢迎来到 SO,感谢您尝试回答这个问题。您能否在答案背后提供更多解释以及修复背后的逻辑?干杯!
                          • 嗨,谢谢,这在 chrome 中完美运行(至少),我不知道为什么人们不赞成这个完美的解决方案。
                          • @Saman 因为这个解决方案在极其特殊的情况下不起作用。也就是说,如果您的页眉称为#Header,而您的页脚称为#Footer。这在某些 wordpress 模板中可能工作正常,但在其他任何地方都不能正常工作。除此之外,它没有回答 OP 的问题,即隐藏浏览器创建的 URL,而不是页眉/页脚。坦率地说,我很惊讶它没有更多的反对票。
                          【解决方案22】:

                          这将是最简单的解决方案。我尝试了互联网上的大多数解决方案,但只有这个对我有帮助。

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

                          【讨论】:

                          • 这在什么浏览器中有效?在 Chrome 80 中它不起作用。
                          猜你喜欢
                          • 2012-10-19
                          • 2017-02-15
                          • 2014-10-03
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2021-12-28
                          • 2018-05-03
                          相关资源
                          最近更新 更多