3

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

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

假设:

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

需要考虑的事项:

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

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

4

1 回答 1

0

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

例如_

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

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

于 2012-07-23T02:07:20.807 回答