在Scribus外如何使用Scribus模块的可能性?
我想用 Scribus
和 Python 脚本来生成 PDF 文件。我查了一下,发现只有一些在 Scribus 里使用 scribus 模块的 Python 脚本示例,还有一些评论。
"This Python script is written for the Scribus scripting interface.
It can only be run from within Scribus."
当我使用命令
import scribus
在 Python 中时,出现了一个错误 ImportError: No module named 'scribus'
。但是当我在 Scribus
的 Python 控制台里使用这个命令时,一切都正常,我可以使用这个模块。那么,这个模块到底在哪里呢?
或者我能否像运行 Python 脚本那样,给 Scribus 传入参数?类似于
scribus python_script.py
我同时使用 Linux 和 Windows,所以在这两个操作系统中的解决方案都很好。
Python 3.3.2
和 Scribus 1.4.3
3 个回答
使用命令行界面如下:
python foo.py
scribus -ns -f myfile
这个Python脚本会每隔几秒自动运行“另存为PDF”的操作(就像按下Ctrl+Shift+P一样)。
参考资料
请查看Scribus的文档,路径是:
开发者 > Scripter API > Scripter扩展
如果你能把你的功能写成“扩展脚本”,那么你可以让Scribus在启动时执行它:
在Scribus中,依次点击 文件... > 首选项 > Scripter > 启用扩展脚本,然后选择你的脚本。
现在,如果你从命令行运行Scribus(而不是从Python控制台),它应该会首先运行你的脚本并执行相关操作。
抱歉,我搜索了很久,没找到从Python控制台向操作系统发送命令的方法,就像在命令行中那样(我认为这样可以满足你的需求)。这样你就可以从控制台使用Scribus运行你的脚本。
实际上,你可以把一个Python脚本作为参数传递给Scribus这个软件。不过据我所知,这个功能只有在1.5版本之后才可以使用。
下面是来自Scribus的维基的一个例子。
# only one short flag + scribus doesnt open a document (the script itself does it)
scribus -py somescript.py --python-arg v