2013-07-17 56 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)後,我將刪除該問題。但如果其他人有同樣的問題,我認爲這將是有益的。 –