【发布时间】:2024-01-23 20:07:01
【问题描述】:
这不是一个如何编码类型的问题,而是一个需要尽可能采取的方法。
使用 PHP/MySQL 我想让用户在他们的屏幕上查看某些内容,然后如果他们决定将其打印出来,请从数据库中添加一个值。但是,此值不应显示在计算机屏幕上。
基本上,物理介质打印作业(或打印到 pdf 等)需要包含来自 db 的附加值,而不是如果用户只是以某种方式复制他们的屏幕会呈现的屏幕打印。
这可能吗?如果是这样,需要完成什么才能实现这一切?
【问题讨论】:
这不是一个如何编码类型的问题,而是一个需要尽可能采取的方法。
使用 PHP/MySQL 我想让用户在他们的屏幕上查看某些内容,然后如果他们决定将其打印出来,请从数据库中添加一个值。但是,此值不应显示在计算机屏幕上。
基本上,物理介质打印作业(或打印到 pdf 等)需要包含来自 db 的附加值,而不是如果用户只是以某种方式复制他们的屏幕会呈现的屏幕打印。
这可能吗?如果是这样,需要完成什么才能实现这一切?
【问题讨论】:
这对于纯 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>
【讨论】:
PHP 不关心它输出到什么。
我想您可以在默认样式表中将元素标记为 display: none ,并有一个仅打印样式表,其中显示设置被设置回块、内联等。
【讨论】: