【问题标题】:Get db value to appear only during print action获取仅在打印操作期间出现的 db 值
【发布时间】:2024-01-23 20:07:01
【问题描述】:

这不是一个如何编码类型的问题,而是一个需要尽可能采取的方法。

使用 PHP/MySQL 我想让用户在他们的屏幕上查看某些内容,然后如果他们决定将其打印出来,请从数据库中添加一个值。但是,此值不应显示在计算机屏幕上。

基本上,物理介质打印作业(或打印到 pdf 等)需要包含来自 db 的附加值,而不是如果用户只是以某种方式复制他们的屏幕会呈现的屏幕打印。

这可能吗?如果是这样,需要完成什么才能实现这一切?

【问题讨论】:

    标签: php mysql printing


    【解决方案1】:

    这对于纯 HTML 和正确的 CSS media types. 是可行的,您只需将特定于打印的内容放入 CSS 指定不显示在屏幕上的容器中:

    内部print.css

    .printonly {
      display: block;
    }
    

    内部screen.css

    .printonly {
      display: none;
    }
    

    在您的 HTML 中:

    在标题内,使用正确的 CSS 链接:

    <link rel='stylesheet' media='screen' href='screen.css' />
    <link rel='stylesheet' media='print' href='print.css' />
    

    并将内容包含在一个具有printonly 类的容器中。这不会显示在屏幕上(在任何现代浏览器中),但会被打印出来。

    <div class='printonly'>
      only for print!
    </print>
    

    【讨论】:

      【解决方案2】:

      PHP 不关心它输出到什么。

      我想您可以在默认样式表中将元素标记为 display: none ,并有一个仅打印样式表,其中显示设置被设置回块、内联等。

      【讨论】:

        最近更新 更多