我有一份HTML报告,因为有很多专栏,所以需要打印出来.有没有一种方法可以做到这一点,而无需用户更改文档设置?

浏览器之间有哪些选项.

推荐答案

在CSS中,可以设置@page属性,如下所示.

@media print{@page {size: landscape}}

@page是CSS 2.1 specification的一部分,但是这size并不像问题Is @Page { size:landscape} obsolete?的答案那样突出显示:

CSS 2.1不再指定大小属性.当前的工作 CSS3寻呼媒体模块草案确实规定了这一点(但这不是 标准或接受).

如上所述,尺码选项来自CSS 3 Draft Specification码.从理论上讲,它可以设置为页面大小和方向,尽管在我的示例中省略了大小.

bug report begin filed in firefox的支持非常复杂,大多数浏览器都不支持.

这似乎在IE7中起作用,但这是因为IE7将记住用户在打印预览中最后 Select 的横向或纵向(只有浏览器重新启动).

This article确实有一些建议的解决方法,使用JavaScript或ActiveX将密钥发送到用户浏览器,尽管它们并不理想,并且依赖于更改浏览器的安全设置.

或者,您可以旋转内容而不是页面方向.这可以通过创建一个样式并将其应用于包含这两条线的主体来实现,但这也会产生许多对齐和布局问题.

<style type="text/css" media="print">
    .page
    {
     -webkit-transform: rotate(-90deg); 
     -moz-transform:rotate(-90deg);
     filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    }
</style>

我找到的最后一个 Select 是在PDF中创建一个横向版本.您可以指向这样,当用户 Select 打印时,它会打印PDF.但是,在IE7中,我无法将其用于自动打印工作.

<link media="print" rel="Alternate" href="print.pdf">

总而言之,在一些浏览器中,使用@page size选项是相对容易的,但是在许多浏览器中没有确定的方法,这取决于您的内容和环境. 这可能是为什么Google Documents在 Select Print时创建一个PDF,然后允许用户打开并打印该PDF的原因.

Html相关问答推荐

html列表顺序类型类似于子列表

后续使用收件箱从网页表中提取值

未显示新组件的视图

具有可展开行的棱角material 表(垫子表),折叠时行之间仍有间隙

窗口视图之外的下拉菜单位置

如何将CSS滤镜仅应用于背景图像

Bootstrap 5.3.2模式页脚左填充还是左边距?

如何将多个类名组合到CSS中的一个关键帧

停止 Bootstrap 5 输入调整 CSS 网格单元的高度

R 中的网页抓取数字?

嵌入最近的 YOUTUBE 视频(不是短片,视频)

jQuery 索引返回不正确的结果

悬停时宽度从 0 过渡到自动

在带有换行文本的工具提示中显示溢出文本

如何制作一个布局,其中左侧固定为图像,右侧为按钮,中心或中间位置为文本?

将 HTML 元素粘贴到容器底部,而不剪裁其顶部

标签背景 colored颜色 的 html 和 css 技巧说明

Tailwind CSS 复选框样式不起作用

使用 CSS flexbox 和溢出顶部而不是底部

如何在没有 JS 的情况下创建带搜索的 Select 菜单