Seite 1 von 1

Script für PDF-Batch-Export

Verfasst: Sa 31. Okt 2015, 23:09
von Julius
Dieses Plugin öffnet und exportiert eine Auswahl von Scribus-Dateien als PDFs.

Wird die entpackte Datei pdf-export.py über das Script-Menü ausgeführt, erscheint ein Datei-Auswahl-Dialog, in dem per gedrückter Strg / Ctrl-Taste mehrere Dateien ausgewählt werden können. Anschließend werden die Dateien mit einem angehängten Suffix dateiname.sla.pdf im gleichen Ordner wie die Ausgangsdateien abgelegt.

In der Datei selbst sind noch zwei Änderungen vorgesehen:
  1. Wird die Zeile dateien = QtGui.QFileDialog.getOpenFileNames(None, 'Scribus Dateien ausw'+u"\u00E4"+'hlen',"", "Scribus-Dateien (*.sla *.sla.gz);;Alle Dateien (*)") per vorangestelltem # auskommentiert und das Kommentarzeichen vor der nächsten Zeile entfernt, erscheint keine Dateiabfrage mehr, sondern die zu exportierenden Dateien werden als Liste in der Zeile darunter festgelegt (siehe Beispiele; absolute Pfade verwenden!)
  2. Wird die Zeile pdf.file = str(datei)+'.pdf' auskommentiert und das Kommentarzeichen vor der nächsten Zeile entfernt, werden die PDFs statt dateiname.sla.pdf unter dateiname.pdf abgespeichert.

Wichtig: Bereits existierende PDF-Dateien mit dem gleichen Namen werden ohne vorherige Abfrage durch eine neue Version ersetzt!



Das Skript (das Gleiche befindet sich im Anhang):

Code: Alles auswählen

#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
import re
from PyQt4 import QtGui

dateien = QtGui.QFileDialog.getOpenFileNames(None, 'Scribus Dateien ausw'+u"\u00E4"+'hlen',"", "Scribus-Dateien (*.sla *.sla.gz);;Alle Dateien (*)")
#dateien = ['/home/julius/Schreibtisch/Scribus-Experimente/testdokument1.sla', '/home/julius/Schreibtisch/Scribus-Experimente/testdatei.sla', '/home/julius/Schreibtisch/Scribus-Experimente/test.sla']

counter = 0

for datei in dateien:
    scribus.messagebarText("Bearbeite Datei „"+datei+"“")
    scribus.openDoc(datei)
    pdf = scribus.PDFfile()
    pdf.file = str(datei)+'.pdf'
    #pdf.file = re.sub(r"(.sla)?(.sla)$", ".pdf", str(datei))
    pdf.save()
    scribus.closeDoc()
    counter = counter + 1

if counter > 0:
  scribus.messageBox('Export beendet', 'PDF-Export erfolgreich beendet!')
else:
  scribus.messageBox('PDF-Export', 'Keine Dateien ausgewählt!')


Viel Spaß damit.
Julius