1

我想让这个页面在所有浏览器中看起来都一样。具体来说,我希望文本的换行点在所有浏览器上都完全相同,这样我就可以创建一个 100% 准确度的 PDF 版本。例如,在 FF 与 Chrome 中查看这一点。

http://santaspencil.com/desktop/embedded-test/embedded-fonts-test.php

问题: - 可以吗?- 是否有不需要用户下载插件的替代方案?

4

3 回答 3

1

您应该考虑将字体文件嵌入到 CSS 中。但像往常一样,石器时代的 IE 无法做到这一点,因为您需要在服务器上包含 EOT 字体文件。

http://base64fonts.com会将您的字体文件转换为 base64,然后生成一个 css 代码供您复制并粘贴到您的 html 中。这将有助于确保跨浏览器(IE 除外)加载字体。

祝你好运

于 2012-04-14T21:45:45.210 回答
1

这可能为时已晚,但直到今天我才知道。有一种叫做不间断空格的东西,用 HTML 表示,您可以使用它来防止不需要的换行符或其他类似的东西。Wikipedia 上有一篇很好的文章。

http://en.wikipedia.org/wiki/Non-breaking_space

于 2012-08-08T02:38:45.103 回答
1

...我希望文本的包装点在所有浏览器上都完全相同...

砰的一声在这里(在砖墙上签名)。Web 技术甚至没有尝试这样做。如果您想出一种方法来提供您自己的字体 - 例如嵌入式网络字体 - 您可以通过 SORTA 使其工作。但如果100%是你的目标,你还不如放弃睡觉。

浏览器的优点之一是它们的“流式布局”功能,例如,在平板电脑上和在桌面上以不同的方式自动呈现页面以填充不同的屏幕尺寸。您为这种无限的可重新渲染性付出的代价之一是无法准确地指定外观。此外,边缘情况总是会出现并咬人。例如,如果可用行是 0-73 个单位,而您要放入其中的文本是 74 个单位长,它是否“适合”?(即,零计数吗?并且用完最后一个单元是“适合”还是需要“包装”的指示?)

让浏览器呈现您的确切外观的唯一方法是为它们提供在它们看来是图像的东西。在屏幕上显示文本,对其进行截屏,然后将该截屏制作成 *.GIF 格式是一种方法。

PDF 文件也可以工作,因为它在浏览器看来是一个带有自己渲染引擎的“有趣”图像。即使浏览器不同,大多数渲染引擎也可能相同(即来自 Adob​​e 的引擎),因此它更有可能工作。在 Web 上提供 PDF 文档效果很好,并且得到了广泛的支持。如果一个 URL 看起来像http://yoursys.yourdomain/yourpath/yourfile.pdf大多数浏览器会获取它并启动他们的 PDF 渲染工具并直接显示它......通常在浏览器窗口中,所以用户甚至不知道使用了不同的应用程序。

至于你问题的最后一部分,这是错误的问题。它应该是“不需要用户已经拥有的插件的解决方案”。PDF插件的优势在于绝大多数用户已经拥有它。并非所有插件都是邪恶的/不方便的......只是不太常见的插件(或者如果您的目标是用户甚至不允许下载的 iPhone 则使用 Flash 插件:-)。

祝你好运!

于 2012-04-17T20:46:56.490 回答