如何显示HTML文档的打印预览

时间:2009-06-04 22:12:31

标签: html browser printing preview

我需要显示一些HTML内容,因为它会被打印出来。基本上,我想模仿浏览器打印预览功能。

我不确定如何使用HTML / CSS / JavaScript执行此操作。我提出的唯一解决方案是将HTML转换为PDF,然后将其拆分为页面,然后将该PDF转换为图像并将每个图像打印成另一个图像。

如果有人可以指出更直接的方法,那将会非常有帮助。我甚至不确定这是否是可能的。

顺便说一下,我在后端使用PHP,所以如果有一个PHP类就可以了,这将是有帮助的。

无论用户配置了什么,用于diplaying它的页面大小都是字母

这应该在浏览器中看起来如何: alt text

4 个答案:

答案 0 :(得分:4)

我不认为这是可能的。你无法在浏览器(javascript)中知道所有用户的打印设置,也绝对不能在服务器上知道(php,asp,java)。

更新

以这种方式思考(请记住,不可能实现100%的可靠打印预览):

  • 用户导航到页面并要求打印预览
  • 网站提供打印预览(最好采用html格式,否则为png或pdf)
  • 用户喜欢并想要打印:
    1. 来自浏览器
    2. 从某些图像查看/编辑程序(png)
    3. 来自Acrobat(pdf)
  • 每个打印解决方案都有自己的Print ...对话框。您可以在此处更改打印设置。

这是你想要的一切都失败的最后一点......你在那时(从你的网站)无法控制输出......

答案 1 :(得分:3)

正如其他人所指出的那样,你不能这样做。我的建议是你制作一个“打印机友好”的版本,只包含纯白色背景和纯黑色文本。但这与您可以进入实际的“打印预览”的距离非常接近。

答案 2 :(得分:1)

HTML并不是真正意义上的页面布局,它意味着要在屏幕上阅读。为什么浏览器页面预览不够好?

无论如何,你可以做的是尝试将html转换为latex或类似的东西,并将其呈现为服务器端的pdf或png并显示它。但是,这将排除使用非常复杂的html布局,否则会变得非常讨厌。

答案 3 :(得分:0)

我认为有一个简单的解决方法。

您可以询问用户页面大小以及上边距,下边距,左边距,右边距。然后使用这些设置以PDF格式呈现页面。 PDF将保证页面将按生成的方式打印。

我认为这种方法应该运作良好。