从 svg 转换为 pdf 的图像上下文中删除多余的空间

从 svg 转换为 pdf 的图像上下文中删除多余的空间

我有一个带有 svg 图像的 Context 文本。正如预期的那样,Context 将图像转换为 pdf 并将其包含在内,但在导出的 pdf 中留下了很多空白空间。我该如何摆脱这些空白空间?

mcve.tex:

\starttext
\externalfigure[card.svg][width=56mm, frame=on]
\stoptext

卡片.svg:

<?xml version="1.0" encoding="utf-8" ?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <rect fill="white" height="87" rx="10" ry="10" stroke="red" stroke-width="1" width="56" x="0" y="0"/>
</svg>

我这样调用 Context:

context mcve.tex

我认为它使用 Inkscape 将 svg 转换为 pdf;我在 Linux 上使用 Inkscape 1.1.1 (3bf5ae0d25, 2021-09-20)。

答案1

这可能与以下因素有关,也可能无关:问题 1017。如果我手动将 转换.svg.pdf,则仅导出绘图:

for i in *.svg
do
    base=$(basename "$i")
    context_name="m_k_i_v_$base.pdf"
    inkscape \
        --export-filename="$context_name" \
        --export-type=pdf \
        --export-area-drawing \
        "$i"
done

似乎我的上下文有点旧了;根据源代码ConTeXt 已经可以处理这个问题了。遗憾的是,Ubuntu 21.10 仍然附带旧代码,尚不支持 Inkscape 1.1,因此我将坚持我的解决方法。

相关内容