2013-07-17 57 views
0

我遇到了一个SVG形状的问题,它有中风,并试图让他们在Firefox中打印。火狐SVG形状在打印时不打印

这是最简单的例子:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <rect x="0" y="0" rx="15" ry="15" width="300" height="400" style="stroke:black;stroke-width:5;" fill="black" /> 
    <circle id="FirstCircle" cx="50" cy="50" r="30" stroke="black" stroke-width="2" fill="white" style="opacity:0.75;"/> 
    <circle id="SecondCircle" cx="50" cy="150" r="30" fill="white" style="opacity:0.75;"/> 
</svg> 

当我尝试和打印此第一形状也一两件事情:

  1. 它不会在所有
  2. 它显示露面在边界框中偏离中心。

没有笔画的第二个形状按预期显示,在预期的位置。

当在屏幕上显示时,它在预期的位置显示。当我尝试打印时,会出现olny问题。

我尝试过使用不同的比例因子(50% - 100%)和默认缩小以适合。

这里是我所得到的,当我尝试和打印:

imageoutput

这是定义的行为或有没有人知道如何纠正呢?

我不喜欢这种形状的中风,可以很容易地分层形状以获得相同的效果,但它很高兴知道为什么会发生这种情况。

编辑:

正如罗伯特Longson指出,这似乎是一个Firefox的错误。报告提交了here,他们正在研究它。

+0

提高它在[Bugzilla的(https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component = SVG) –

+0

所以这是一个错误?我无法确定这是我做错了什么,或者它是否与firefox有关。 –

回答

0

你需要指定svg元素的widthheight解决这个问题:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="400"> 
    <rect x="0" y="0" rx="15" ry="15" width="300" height="400" style="stroke:black;stroke-width:5;" fill="black" /> 
    <circle id="FirstCircle" cx="50" cy="50" r="30" stroke="black" stroke-width="2" fill="white" style="opacity:0.75;"/> 
    <circle id="SecondCircle" cx="50" cy="150" r="30" fill="white" style="opacity:0.75;"/> 
</svg> 
+0

这没有奏效。 –

+0

它对我来说工作正常...检查这个 http://jsfiddle.net/firecast/UZWnk/ – firecast

+0

它显示在屏幕上就好了,打印预览也可以。这似乎是一个特定于Firefox的问题。它在Chrome中打印效果不错。自[我提交了一个错误](https://bugzilla.mozilla.org/show_bug.cgi?id=894917)后,我将删除该问题。但如果其他人有同样的问题,我认为这将是有益的。 –