Jalankan skrip Scribus tanpa GUI


1

Saya ingin menjalankan skrip lakukan beberapa manipulasi PDF dalam Scribus non-interaktif, tetapi saya tidak dapat menemukan dokumentasi untuk mengatakan dengan pasti apakah ini mungkin, dan jika demikian, bagaimana.

Jawaban:


3

Ini mungkin, tetapi Anda membutuhkan Scribus "tidak stabil" & gt; = 1.5.1 (ini adalah versi pengembangan - untuk siapa pun di masa depan, gunakan Scribus stabil & gt; = 1.6 saat habis) untuk memulai Scribus dengan naskah.

Saya harus mengkompilasi ini dari sumber di Debian.

Selain itu, opsi --no-gui scribus tampaknya tidak berfungsi (pada 1.5.2), jadi saya gunakan xvfb-run untuk menyembunyikannya "dari layar".

saya menggunakan &> /dev/null untuk menyalurkan semua informasi debug yang dicetak ke stderr, yang terlalu berisik untuk berguna. Tetapi Anda harus mematikannya saat membuat skrip Anda bekerja pada awalnya.

sudo apt-get install xvfb
xvfb-run scribus --no-gui --no-splash -py scribus2pdf.py -o OUTPUT.pdf -- INPUT.sla &> /dev/null

Catatan ini adalah sintaks yang diusulkan hanya bekerja dengan Scribus 1.5.2. Anda mungkin harus memformat argumen untuk skrip python secara berbeda pada versi lain dari Scribus. Perhatikan juga bahwa Scribus menggunakan Python 2, bukan 3.

Catatan file yang disimpan dalam Scribus 1.5 TIDAK kompatibel dengan Scribus 1.4

Ini milik saya 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)

0

Saat ini itu hanya mungkin melalui skrip startup Python. Scribus masih akan memulai UI, jadi pada server tanpa kepala Anda perlu menginstal Xvfb atau Xdummy.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.