问题描述
我编辑了我的问题,希望现在描述得更好。
我正在开发一款软件,该软件可为我提供包含大量 matplotlib 图形的精美 PDF,具体取决于我获得的数据。 因此,考虑一个页面数据库,然后软件决定选择哪些页面并填充更改后的图像,文本保持不变。 例如,对于 data1,我得到 page1-4、page7 和 page 9。对于 data2,我得到 page1-4 和 page6。保存为 PDF。我正在使用需要更改的 Quark 手动执行此操作。我希望我能弄清楚这样做的脚本。
但是对于初学者来说,我无法从开发环境中启动 scribus。 Ubuntu 上的 Eclipse Anaconda。
import subprocess
subprocess.run('scribus')
在终端中工作正常,但在 Eclipse 中给我一个我无法弄清楚的错误。
文件“/home/b256/anaconda3/envs/test/lib/python3.7/site.py”,第178行 文件=sys.stderr) ^ 语法错误:无效语法
这似乎是 site.py 文件中的一些 Python 2 错误
????这是 anaconda python 路径错误吗??
解决方法
我不太清楚,你想实现什么,但欢迎你看看我的脚本:
https://github.com/aoloe/scribus-script-repository/blob/master/imposition/imposition.py
这可能比您要实现的目标要复杂一些:
- 脚本从终端启动,
- 如果它注意到它没有从 Scribus 内部启动(
import scribus
上的异常)... - ...它以自己作为要运行的脚本启动 Scribus。
- 脚本再次运行,这次是从 Scribus 内部运行...
- ... 现在导入
scribus
和脚本主体运行时也不例外。
当然,如果您使用其他脚本启动一个启动 Scribus 的脚本会更简单。
对您来说,最重要的一行可能是:
call(['scribus','-g','-py',sys.argv[0]] + arguments + ['--',file])
从 Python 开始 Scribus
- 使用尽可能少的 GUI (
-g
) 和 - 启动脚本
sys.argv[0]
- 有几个
arguments
和 - 在
--
之后告诉 Scribus 要打开什么文件。