标签: inkscape

在命令行中将 SVG 绘图裁剪为画布大小

我有 PlantUML 生成的 SVG 图像,其中有一些在画布之外绘图的部分。这使得使用此类图像变得困难,我需要将绘图裁剪为画布大小。无论如何,当我用脚本生成 UML 图时,在那里执行裁剪也会非常有效。

到目前为止,我已经尝试了两件事:a) 使用 Inkscape 调整画布大小以进行绘图

inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose *.svg
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我需要将绘图裁剪为画布大小,并且此操作似乎不可用。

b) 使用 rsvg-convert 调整大小

rsvg-convert image.svg -w 1870 -h 1195 -f svg -o image.svg
Run Code Online (Sandbox Code Playgroud)

这确实裁剪到所需的大小,但图像大小增加了约 10 倍,因为现在有一些二进制图像嵌入到 SVG 中。这对我来说是不可接受的。

command-line image-manipulation svg inkscape

9
推荐指数
1
解决办法
5408
查看次数

临时替换配置文件的干净方法?

我使用一个名为 Inkscape 的绘图程序,它具有 GUI 和命令行界面。在命令行上使用时,它有大量选项只能通过用户特定的配置文件进行控制,该文件被硬编码为:

$HOME/.config/inkscape/preferences.xml
Run Code Online (Sandbox Code Playgroud)

这个配置文件总是包含最近在 GUI 中使用的选项,这在我编写脚本时可能是错误的。

为了解决这个问题,我让我的脚本保存了一份配置文件的副本,用标准配置文件替换它,运行程序,然后将保存的配置文件复制回来。

这工作正常,但不是很干净。例如,如果脚本的两个实例同时运行,它将无法正常工作。

在 Unix 上,是否有一种更简洁的方法来执行伪造程序的任务,以便它从我想要的某个地方获取其配置文件,而不是从程序中硬编码的路径名?也许涉及链接的东西,或者像BSD监狱之类的东西?

scripting configuration files namespace inkscape

7
推荐指数
2
解决办法
476
查看次数

无法在 Ubuntu 上安装inkscape?

我试图在我的 Ubuntu 14 中安装inkscape,但它不存在。当我安装我的 ubuntu 时说已经安装了,但是当我输入终端 $inkscape 时,它​​说需要安装。

这是混乱。

见下面的文件

我该如何解决这个问题?

在此处输入图片说明

ubuntu inkscape

2
推荐指数
1
解决办法
2986
查看次数

如何在inkscape中打开/tmp文件夹中的文件?

我使用的一些软件使用 inkscape 将图像从一种格式转换为另一种格式,作为中间步骤。这意味着他们将图像写入该/tmp文件夹,并尝试在这些图像上使用 inkscape 来获取他们需要的图像格式。但是,在我的系统上,inkscape 不喜欢该/tmp文件夹。

当尝试使用 inkscape 打开/编辑目录中的 svg 文件时/tmp,例如,inkscape /tmp/test.svg它会抛出错误/警告

** (inkscape:6528): WARNING **: Can't open file: test.svg (doesn't exist)
Run Code Online (Sandbox Code Playgroud)

该文件存在,我可以使用 Budgie 的默认查看器打开它。

例如,在主文件夹中执行类似操作时,inkscape ~/test.svg测试文件打开得很好。Inkscape 本身在调用文件夹inkscape中的某个位置时运行/tmp,它只是无法使用该文件夹中的文件。

我正在运行 Solus 4,并使用sudo snap install inkscape.

tmp inkscape solus

2
推荐指数
1
解决办法
630
查看次数