Это возможно, но вам нужен «нестабильный» Scribus> = 1.5.1 (это версия для разработчиков - всем, кто в будущем использует стабильный Scribus> = 1.6, когда он выйдет), чтобы запустить Scribus со скриптом.
Я должен был скомпилировать это из источника на Debian.
Кроме того, опция scribus --no-gui фактически не работает (по состоянию на 1.5.2), поэтому я использую ее, xvfb-run
чтобы скрыть ее «за кадром».
Я использую, &> /dev/null
чтобы передать всю отладочную информацию, напечатанную в stderr, что слишком шумно, чтобы быть полезным. Но вы захотите отключить это, когда ваш скрипт будет работать изначально.
sudo apt-get install xvfb xvfb-run scribus --no-gui --no-splash -py scribus2pdf.py -o OUTPUT.pdf -- INPUT.sla &> /dev/null
Обратите внимание, что это предлагаемый синтаксис, работающий только с Scribus 1.5.2. Возможно, вам придется по-разному форматировать аргументы для скрипта Python в других версиях Scribus. Также обратите внимание, что Scribus использует Python 2, а не 3.
Примечание Файлы, сохраненные в Scribus 1.5 не совместимы с Scribus 1.4
Вот мой scribus2pdf.py
# Requires Scribus >= 1.5.1 # Tested on Scribus 1.5.2 # Usage: # scribus --no-gui --no-splash -py scribus2pdf.py -o OUTPUT.pdf -- INPUT.sla &> /dev/null # To hide the gui properly, prefix the above with xvfb-run import sys import getopt import scribus try: opts, args = getopt.getopt(sys.argv[1:],"o:") except getopt.GetoptError as e: print(e) sys.exit(1) for opt, arg in opts: if opt == "-o": dest = arg if not dest: sys.exit(1) if scribus.haveDoc() : pdf = scribus.PDFfile() pdf.file = dest pdf.save() else: print("Expected input") sys.exit(1)