【问题标题】:Is there possibility how to use scribus module in python outside Scribus?是否有可能如何在 Scribus 之外的 python 中使用 scribus 模块?
【发布时间】:2014-03-18 00:05:02
【问题描述】:

我想使用Scribus 和 python 脚本生成 pdf 文件。我一直在环顾四周,发现只是在 Scirbus 中使用 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

【问题讨论】:

  • scribus 模块是在 Scribus 中实现的,因此您无法将它与独立的 Python 解释器一起使用。尝试让 Scribus 使用命令行运行 Python 脚本的第二种方法更有可能成功。
  • 谢谢。你知道怎么做吗?我的意思是如何以 Python 脚本作为参数运行 Scribus 来执行它?

标签: python python-module scribus


【解决方案1】:

事实上,您可以将 python 脚本作为参数传递给 scribus。 但据我所知,这仅适用于 1.5 版

来自scribus wiki 的示例

# only one short flag  + scribus doesnt open a document (the script itself does it)
scribus -py somescript.py --python-arg v

【讨论】:

    【解决方案2】:

    请查看

    下的 Scribus 文档

    对于开发人员 > Scripter API > Scripter 扩展

    如果您设法将功能编写为“扩展脚本”,则可以让 Scribus 在启动时执行它:

    Scribus > File... > Preferences > Scripter > 启用扩展脚本 并选择您的脚本。

    现在,如果您从命令行(而不是从 Python 控制台)运行 Scribus,它应该首先运行您的脚本并发挥它的魔力。


    抱歉,我进行了更长的搜索,但找不到一种将 Python 控制台中的内容发送到操作系统的方法,就好像它在命令行上一样(我相信这会满足您的要求)。这将允许您从控制台运行脚本(使用 Scribus)。

    【讨论】:

      【解决方案3】:

      这样使用命令行界面:

      python foo.py
      scribus -ns -f myfile
      

      Python 脚本只是每隔几秒以编程方式(Ctrl+Shift+P)运行另存为 PDF。

      参考文献

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 2017-07-04
        • 2014-05-11
        • 1970-01-01
        • 2015-12-12
        • 2011-05-06
        • 1970-01-01
        相关资源
        最近更新 更多