Seite 1 von 1

Buch scripten - hier Textüberlauf und neue Seite

Verfasst: Di 10. Jan 2017, 11:05
von tbeissel
Liebe Forenteilnehmer und Profis,

folgendes Szenario:

Ich möchte ein Buch/Heft in Scribus layouten und den Inhalt, da variabel, über ein Script importieren lassen. Als Ausgangsmaterial steht bisher eine reine txt Datei zur Verfügung, ich bin noch in der Einarbeitung. Soweit so gut. Jetzt zu meinem Problem:

Das der Text nicht immer die gleiche Länge aufweist, suche ich eine Möglichkeit, automatisch eine neue Seite einfügen zu lassen, wenn mein Text im Rahmen in den Überlauf kommt.

Hat hier irgend einer eine gute Idee?

VG

Thomas

Re: Buch scripten - hier Textüberlauf und neue Seite

Verfasst: Di 10. Jan 2017, 14:36
von a.l.e
dieses script könnte hilfreich sein:

https://wiki.scribus.net/canvas/Centeri ... in_a_frame

ciao
a.l.e

Re: Buch scripten - hier Textüberlauf und neue Seite

Verfasst: Di 10. Jan 2017, 16:25
von Julius
Hallo Thomas,

von Haus geht das wohl nicht. Aber für solche Dinge hat Scribus eine Python-Schnittstelle für Scripte, im Wiki haben wir einen unvollständigen Bereich dazu, du benötigst wahrscheinlich die Funktion textOverflows(), die dann „wahr“ zurückliefert, wenn der Text im gewählten Rahmen überläuft. Ein kleines Beispielscript:

Code: Alles auswählen

# -*- coding: utf-8 -*-
import scribus

# Wenn Objekt nach Namen ausgewählt werden soll...
#name = "ErsterTextrahmen"
#scribus.deselectAll()
#scribus.selectObject(name)
# markiertes Objekt wird benutzt:
if scribus.textOverflows():
  scribus.messageBox("Überlaufender Text", "Die Textbox beinhaltet <b>überlaufenden Text</b>.", scribus.ICON_INFORMATION)
else:
  scribus.messageBox("Kein überlaufender Text", "Die Textbox beinhaltet <i>keinen</i> überlaufenden Text.", scribus.ICON_INFORMATION)
Das Script befindet sich zusammen mit einem Beispieldokument im Anhang, speichere es, öffne ein Scribus-Dokument (z. B. das Beispieldokument), wähle einen Textrahmen aus und führe das Script über das „Script“-Menü aus. Das Script gibt den Befund dann als Box aus:
ueberlauf.png
Um ein Script zu erstellen, das das für dich erledigt, müsstest du natürlich Python lernen. Im Wiki gibt es ein Mini-Tutorial, das aber noch ein wenig lückenhaft ist und eher auf das Zusammenspiel von Python und Scribus als auf Python-Grundlagen eingeht.

Gruß
Julius