5

我在从 Google chrome v 18 打印网络字体时遇到问题,但它在 IE 和 Firefox 上运行良好,我使用 CSS 文件来传递网络字体,它的代码如下。

@font-face {

font-family: 'C39P24DmTtNormal';
src: url('WebFonts/v100025_-webfont.eot');
src: url('WebFonts/v100025_-webfont.eot?#iefix') format('embedded-opentype'),
     url('WebFonts/v100025_-webfont.woff') format('woff'),
     url('WebFonts/v100025_-webfont.ttf') format('truetype'),
     url('WebFonts/v100025_-webfont.svg#C39P24DmTtNormal') format('svg');

font-weight: normal;
font-style: normal;
}

问题截图:

在此处输入图像描述

图片描述:

在上面的屏幕截图中,所有标记为红色的都是 CSS 文件中 Web 字体提供的条形码,但打印时如上所示。

我试图在谷歌上搜索,但这似乎是 Chrome 的一个可能的错误,他们正试图尽快修复它。

是否有任何解决方法可以帮助我,因为我不希望我的客户在他们用来浏览我的 Web 应用程序的每台计算机上安装字体。

4

4 回答 4

1

放在.svg源代码的开头并尝试使用不同的格式,.svg例如truetype

@font-face {
    font-family: 'EnzoOT-Medi';
    src: url('font.eot');
    src: url('font.svg') format('truetype'),
         url('font.eot?#iefix') format('embedded-opentype'),
      url('font.woff') format('woff'),
      url('font.ttf') format('truetype'),
      url('font.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
于 2012-04-21T16:52:04.797 回答
0

我也有同样的问题,从设置中禁用打印预览,但谷歌浏览器中的问题。它不允许在打印之前加载网络字体,因此只需将其重新启用即可。

如果您正在使用Windows.printonbody.onLoad然后删除它作为问题的真正原因。这仅受 Internet Explorer 支持,Google Chrome 不支持。

例子:

<body onload="window.print();">

删除onload,我希望它能解决问题。如果你试过这个,我很抱歉。

于 2012-04-24T12:36:31.347 回答
0

就我而言,这是由于在 vw 中使用了相对字体大小。我在@media print {} 中设置了一条大小为 pt 的规则,并且效果很好。有趣的是,它只发生在 Chrome 中。

于 2014-02-27T19:36:18.923 回答
0

此问题的真正解决方法是不在预格式化的打印页面上异步加载 webfonts。这样做您仍然可以使用window.onload = window.print()强制打印对话框而不会出现任何问题。

<script>
  WebFontConfig = {
    typekit: { id: 'xxxxxx' }
  };

  (function() {
    var wf = document.createElement('script');
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
              '://ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'false';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })();
</script>

于 2014-11-13T15:40:40.640 回答