2009-06-04 90 views
4

我需要在打印时显示一些HTML内容。基本上,我想模拟浏览器打印预览功能。如何显示HTML文档的打印预览

我不知道如何用HTML/CSS/JavaScript来做到这一点。我提出的唯一解决方案是将HTML转换为PDF,然后将其分成多个页面,然后将该PDF转换为图像并将每个图像打印在另一个下面。

如果有人能指出一个更直接的方法,这将是非常有用的。我甚至不确定这是否可能。

顺便说一句,我在后端使用PHP,所以如果有一个PHP类,这将是有益的。

的页面大小diplaying这将是信无论什么用户已经配置

这应该怎么看在浏览器: alt text

+3

所以你的意思不是使用浏览器的打印预览功能,而是希望将打印预览显示为实际的网页内容? – 2009-06-04 22:15:41

+0

确切地说,这是正确的 – Flupkear 2009-06-04 22:22:16

回答

3

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

更新

想想这种方式(请记住,一个体面的100%固体打印预览是不可能的):

  • 用户转到页,并要求打印预览
  • 网站提供打印预览(优选以HTML格式,否则PNG或PDF格式)
  • 用户喜欢和要打印:
    1. 从浏览器
    2. 从一些图像浏览/编辑程序(PNG)
    3. 从Acrobat(PDF)
  • 每个打印解决方案都有它自己的打印...对话。您可以在此更改打印设置。

这是最后一点,你想要的一切失败......你不要在这一点上(从您的网站)有超过输出控制了...

+0

谢谢,我忘了提及页面大小是字母,不管用户配置了什么 – Flupkear 2009-06-04 22:21:50

1

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

无论如何,你可以做的是尝试和转换为乳胶或类似的HTML,并将其呈现为在服务器端的PDF或PNG,并显示它。但是这会阻止使用非常复杂的html布局,否则它会变得非常讨厌。

3

正如其他人指出的,你不能这样做。我的建议是,您制作一个“打印友好型”版本,只包含纯白色背景和纯黑色文本。但是,就像你可以到达实际的“打印预览”一样。

0

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

您可以询问用户页面大小以及顶部,底部,左侧,右侧边距。然后使用这些设置呈现PDF页面。 PDF将保证页面将作为生成打印。

我认为这种方法应该很好。