Dies ist möglich, aber Sie benötigen den "nicht stabilen" Scribus> = 1.5.1 (dies ist eine Entwicklungsversion - verwenden Sie in der Zukunft den stabilen Scribus> = 1.6, wenn es out ist), um Scribus mit einem Skript zu starten.
Ich musste dies aus Quellen auf Debian zusammenstellen.
Außerdem scheint die Option --no-gui von scribus (ab 1.5.2) nicht wirklich zu funktionieren, daher verwende ich sie xvfb-run
, um sie "off screen" zu verbergen.
Ich verwende &> /dev/null
alle an stderr gedruckten Debugging-Informationen, die zu laut sind, um nützlich zu sein. Sie sollten dies jedoch deaktivieren, wenn Sie Ihr Skript anfangs zum Laufen bringen.
sudo apt-get install xvfb xvfb-run scribus --no-gui --no-splash -py scribus2pdf.py -o OUTPUT.pdf -- INPUT.sla &> /dev/null
Beachten Sie, dass dies eine vorgeschlagene Syntax ist, die nur mit Scribus 1.5.2 funktioniert. Sie müssen möglicherweise die Argumente für das Python-Skript in anderen Versionen von Scribus anders formatieren. Beachten Sie auch, dass Scribus Python 2 verwendet, nicht 3.
Hinweis Dateien, die in Scribus 1.5 gespeichert sind, sind NICHT abwärtskompatibel mit Scribus 1.4
Hier ist meins 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)