【问题标题】:What is the best way to print a webpage as you see it?如您所见,打印网页的最佳方式是什么?
【发布时间】:2012-07-23 01:55:00
【问题描述】:

我不确定这个问题是否如我所说的那样准确,但我想不出更好的方法,所以请耐心等待。

目标:您要在W x H 纸上打印浏览器窗口的W x H 区域。

假设:

  1. 页面是静态 HTML 和 CSS。它不会随着时间而改变,您无法与之交互,并且它在每个浏览器中的呈现方式完全相同。
  2. 您使用@media printdisplay: none 来确保W x H 之外的所有课程都不会出现在打印中。

需要考虑的事项:

  1. 指定W x H(假设是div)的最佳跨平台方式是什么?鉴于有关纸张尺寸、DPI、边距等的相同打印机驱动程序设置,有没有办法让它在打印时显示相同的尺寸?屏幕的 PPI 重要吗?

  2. 字体。打印机可能没有所需的字体。 操作系统可能没有所需的字体,如果它是网络字体的话。有没有一种“最好”的打印方式来解决这些问题?有没有一种特定的方式来使用允许这样做的网络字体?或者有没有办法以打印机的 DPI 光栅化页面并像图像一样打印?

【问题讨论】:

  • 截图并打印出来:)
  • “相同大小”到底是什么意思?您实际上是指屏幕上以英寸/厘米为单位的相同尺寸物理尺寸,还是您的意思是像素?也许你可以解释更大的图景。你想达到什么目的?在任何情况下,打印机字体都是完全无关的。如今,任何被打印的东西都被打印为图形,甚至是“纯文本”。几乎没有现代程序真正使用打印机上的字体打印文本。
  • @RoToRa,我的意思是调整大小,以便在打印时不需要缩放以适应页面。我想要做的是使用 HTML/CSS 来设计一组“页面”来打印。尽管我将自己限制在 Windows 7 上的 Chrome,但当它进入浏览器的打印预览时出现的奇怪怪癖数量令人恼火。由于我坚持单一配置,我通过反复试验暂时处理了大小调整,但字体仍然是个问题。对于这两个问题,“干净”的解决方案似乎总是遥不可及。
  • 您能发布一个示例网页吗?也许这会有所帮助。

标签: html css printing fonts cross-browser


【解决方案1】:

这样做的肮脏方式是截图网页,然后用其他东西打印截图。这样你就可以确保它在你看到的时候出现。

对于example

不幸的是,每个浏览器的打印机预览都会以不同的方式操作和理解 div,其中大多数只会自动包装内容。解决这个问题的唯一方法是指定固定宽度,例如div 为 1000px,并使用 {overflow-x:auto; 设置样式溢出-y:隐藏; }

使用字体,是的,有一种方法可以在用户的​​计算机上安装字体。另一个简单的解决方案就是让它们成为图片,即 PNG。要安装,请查看 Google Web Fonts(Google 搜索会为您提供类似的结果)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    相关资源
    最近更新 更多