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
Buch scripten - hier Textüberlauf und neue Seite
Re: Buch scripten - hier Textüberlauf und neue Seite
dieses script könnte hilfreich sein:
https://wiki.scribus.net/canvas/Centeri ... in_a_frame
ciao
a.l.e
https://wiki.scribus.net/canvas/Centeri ... in_a_frame
ciao
a.l.e
Re: Buch scripten - hier Textüberlauf und neue Seite
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:
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:
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
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)
Gruß
Julius
- Dateianhänge
-
- textOverflow.sla
- (13.91 KiB) 493-mal heruntergeladen
-
- textOverflow.py
- (498 Bytes) 325-mal heruntergeladen
Scribus 1.4.7 und 1.5.4 (Entwicklungszweig) unter Ubuntu 18.04
Um Mithilfe beim Deutsch-sprachigen Scribus-Wiki wird gebeten!
Die aktuellen Versionen von Scribus:
Um Mithilfe beim Deutsch-sprachigen Scribus-Wiki wird gebeten!
Die aktuellen Versionen von Scribus: