我可以强制HTML文档长一页吗?

时间:2009-01-21 13:55:29

标签: html printing document

我正在从HTML生成文档。有没有办法强制HTML页面成为一个打印页面长的?

我已使用<table><div>标记完成了大部分页面。

7 个答案:

答案 0 :(得分:9)

不完全是,但您可以使用打印样式表:

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

将字体大小,填充等设置为像'pt'这样的物理单位(绝不应该在屏幕样式表中使用!),这样当它以典型的方式呈现时,它最终会成为一个A4页面。浏览器,具有典型字体,具有以下风。没有任何保证,但您可以针对常见情况进行优化。

在打印中,您不必太担心字体大小首选项或dpi设置,但仍然无法控制浏览器使用的边距或实际页面大小(US Letter小于A4),所以请假在主流浏览器上有大量的摆动空间和测试。

答案 1 :(得分:7)

没有。您无法控制用户的缩放级别,打印机设置,纸张尺寸(他在欧洲使用A4纸张还是在美国使用合法纸张?)以及使用HTML影响打印机输出的所有其他各种因素。
使用HTML可以做的最好的事情是创建一个非常简单的“打印机友好”页面并保持内容简短。或者,您可以构建一个PDF,旨在让您控制它的打印方式。

答案 2 :(得分:2)

你可以使用CSS来设置页面的样式并将其设置为一定的高度/宽度...这是一个很好的教程here

答案 3 :(得分:2)

使用PDF。你可以强制许多东西,如字体大小,字体类型和许多其他参数,但任何浏览器都可以决定他们不关心和使用他们想要的任何东西,从而违反你的先决条件或决定。 HTML不是(在我之后重复:不是)一种表达语言。

在许多情况下,它会起作用,但没有什么是确定的。

答案 4 :(得分:2)

不,但是您可以使用专用的CSS文件打印介质,使打印视图更加顺畅,如上所述。

然后你可以举例说,至少可以防止表格超过2页 "page-break-before: always;"

最后你也可以使用 "display:none;"关于广告,导航条等不必要的元素,以保持页面本身更短(对于单个页面来说足够短,希望如此)。

但不保证。

答案 5 :(得分:1)

不确定。你有几种可能性:

  • 将您的页面转换为大图。
  • 将您的页面转换为PDF。
  • 使用固定尺寸的页面向所有用户进行骚扰,这些页面向左和向右滚动,因为它太宽,导致传输信息非常困难。

答案 6 :(得分:0)

没有办法,因为在呈现HTML时您无法知道打印机类型或纸张尺寸。

我唯一的建议是设置打印机属性以在打印时缩放内容以适合一页。