如何修复此svg文件以正确显示

时间:2016-12-19 10:28:56

标签: python svg

我刚使用python程序生成SVG文件:out2.svg

所有文件都在这里:https://github.com/jeremy886/svg_crossworder

当我使用Adobe Illustrator时,我可以查看它并将其正确导出到PNG。但是,如果我在Firefox或Finder等浏览器中打开它,则无法正确显示(仅限图片的一角)。欲望文件如:out2-adobe.png

我还希望通过像CairoSVG这样的程序将SVG文件转换为PNG(或者可以通过pillow和reportlab读取任何图像格式),而不是手动使用Adobe Illustrator。

如何修复SVG文件以实现这一目标? 我从这个程序生成了SVG文件:make_crossword.py

我怀疑我需要解决这些问题:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 612 792" style="enable-background:new 0 0 612 792;" xml:space="preserve">
<style type="text/css">
    .st0{stroke:#000000;stroke-width:2.2201;stroke-linecap:square;}
    .st1{fill:#FFFFFF;stroke:#000000;stroke-width:2.2201;stroke-linecap:square;}
    .st2{font-family:'CourierNewPSMT';}
    .st3{font-size:64px;}
    .st4{font-family:'TimesNewRomanPSMT';}
    .st5{font-size:36px;}
    .st6{enable-background:new    ;}
</style>
<g>
    <polyline class="st0" points="0,0 0,100 100,100 100,0   "/>
    <polygon class="st0" points="0,0 0,100 100,100 100,0    "/>
</g>
<g>
    <polyline class="st0" points="100,0 100,100 200,100 200,0   "/>
    <polygon class="st0" points="100,0 100,100 200,100 200,0    "/>
</g>
[delete...]

1 个答案:

答案 0 :(得分:0)

viewBox值似乎与数据

不一致
viewBox="0 0 6120 7920"

似乎更接近你想要的。适当调整。