Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我正在寻找一个可以应用';将页面调整为绘图';类似于Inkscape的svg文件_Python_Svg_Inkscape - Fatal编程技术网

Python 我正在寻找一个可以应用';将页面调整为绘图';类似于Inkscape的svg文件

Python 我正在寻找一个可以应用';将页面调整为绘图';类似于Inkscape的svg文件,python,svg,inkscape,Python,Svg,Inkscape,我有一个脚本,它使用rdkit创建化学分子的svg图形。 我将在web服务器上使用它们,因此,数字的大小很重要。 当前输出是一个包含svg文件的字符串。 我知道我可以使用Inkscape删除白色背景并“将页面调整为绘图”,这正是我想要的。但是,由于我正在创建很多数字,我正在寻找一种自动调整数字大小的方法。 我使用PythonModulesforSVG的经验非常有限,因此我希望有人能推荐一个可以应用所需更改的模块 我知道我可以简单地移除 <rect style='opacity:1.0;fi

我有一个脚本,它使用rdkit创建化学分子的svg图形。 我将在web服务器上使用它们,因此,数字的大小很重要。 当前输出是一个包含svg文件的字符串。 我知道我可以使用Inkscape删除白色背景并“将页面调整为绘图”,这正是我想要的。但是,由于我正在创建很多数字,我正在寻找一种自动调整数字大小的方法。 我使用PythonModulesforSVG的经验非常有限,因此我希望有人能推荐一个可以应用所需更改的模块

我知道我可以简单地移除

<rect style='opacity:1.0;fill:#ffffff;stroke:none' width='2000' height='2000' x='0' y='0'> </rect>

从svg文件中删除部分以删除白色背景,但我不知道如何实现“将页面调整为绘图”部分


非常感谢您的帮助

Inkscape可以从命令行执行各种功能,包括您需要的功能

我的搜索首先引导了我

这是Inkscape可以从命令行执行的许多“动词”或操作的广泛列表。这里有一些链接页面,但意识到可以通过Inkscape的命令行帮助找到信息

从命令行
inkscape--help
非常全面

上面提供的链接的输出只是此命令的副本:
inkscape——动词列表

从这个列表中,我们正在寻找的是
FitCanvasToDrawing

最终代码 “verbs”的格式是--verb=VerbName,可以链接许多不同的操作。在所有谓词之后,您提供了Inkscape将要打开/操作的文件名(不幸的是,谓词不能接受会扩展脚本可能性的参数)

上面示例中的最后一个动词(FileQuit)是可选的,因为如果您要在许多文件中循环执行此操作,那么让Inkscape保持打开状态可能比每隔几秒钟重新启动Inkscape更快

这最后一点带来了Inkscape的一个局限性,即UI需要打开以执行此操作,这可能会减慢较大批量的处理过程,但一次性处理的过程很小。可以找到此错误报告,并已标记为“愿望列表”项


最后,你提到python,但这可以通过shell脚本分批完成,方法是在末尾提供一个变量,而不是一个静态文件名,然后从命令行在so
script*.svg这样的文件夹中的所有svg文件上运行该脚本,但请随意使用您最熟悉的语言。

Inkscape可以从命令行,包括您要求的内容

我的搜索首先引导了我

这是Inkscape可以从命令行执行的许多“动词”或操作的广泛列表。这里有一些链接页面,但意识到可以通过Inkscape的命令行帮助找到信息

从命令行
inkscape--help
非常全面

上面提供的链接的输出只是此命令的副本:
inkscape——动词列表

从这个列表中,我们正在寻找的是
FitCanvasToDrawing

最终代码 “verbs”的格式是--verb=VerbName,可以链接许多不同的操作。在所有谓词之后,您提供了Inkscape将要打开/操作的文件名(不幸的是,谓词不能接受会扩展脚本可能性的参数)

上面示例中的最后一个动词(FileQuit)是可选的,因为如果您要在许多文件中循环执行此操作,那么让Inkscape保持打开状态可能比每隔几秒钟重新启动Inkscape更快

这最后一点带来了Inkscape的一个局限性,即UI需要打开以执行此操作,这可能会减慢较大批量的处理过程,但一次性处理的过程很小。可以找到此错误报告,并已标记为“愿望列表”项

最后,您提到了python,但这可以通过shell脚本分批完成,方法是在末尾提供一个变量,而不是一个静态文件名,并从命令行对so
script*.svg
等文件夹中的所有svg文件运行该脚本,但请随意使用您最熟悉的语言

inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose --verb=FileQuit input.svg