0

当我使用

rsvg-convert.exe -f pdf -o <output-name>.pdf <input-name>.svg

我得到的结果与在 Inkscape 和 Firefox 中呈现 SVG 的方式不同。

这是一个简单的测试 SVG:

<svg width="150" height="100" xmlns="http://www.w3.org/2000/svg">
  <text y="50" font-size="12" fill="black">Test</text>
  <text x="50" y="50" font-size="12pt" fill="black">Test</text>
  <text x="100" y="50" font-size="16px" fill="black">Test</text>
</svg>

在 Inkscape 和 Firefox 中,middel 和 right 文本的大小完全相同,因为这些应用程序似乎假设 1pt = 1.333333px,这是 CSS 推荐的。但是, rsvg 似乎假设 1pt = 1.25px 导致文本大小不同。如何让 rsvg 正确输出(如 Inkscape 和 Firefox)。

我尝试了这些选项,-p但也没有给出正确的结果。-d96

4

2 回答 2

2

在这里使用 rsvg-convert 2.40.20 设置 dpi:

rsvg-convert -f pdf --dpi-x=96 --dpi-y=96 -o <output-name>.pdf <input-name>.svg

我还确认将输出格式设置为 svg(文本将转换为路径)并比较 Inkscape 中的高度。

于 2018-10-24T16:21:10.267 回答
0

许多应用程序正确处理宽度和高度为英寸的 SVG,例如

<svg width="1.5in" height="1in" xmlns="http://www.w3.org/2000/svg">
</svg>

我不熟悉 rsvg-convert.exe,但这是我要尝试的第一件事。根据需要调整宽度和高度。

于 2018-09-20T13:52:01.173 回答