Automatische Textrahmen nachträglich einschalten

Antworten
Benutzeravatar
Julius
Beiträge: 351
Registriert: Di 10. Feb 2015, 23:54
Wohnort: Emsland

Automatische Textrahmen nachträglich einschalten

Beitrag von Julius »

Dieser Beitrag war ursprünglich in diesem Thread: https://www.scribus-user.de/forum/viewt ... f=5&p=4806
Hallo zusammen,

man kann das auch von einem Script erledigen lassen.

Ich habe mal eines erstellt (zum Herunterladen auch als Anhang). Einfach das Script abspeichern, Dokument in Scribus öffnen, dort Seiten anlegen, auf der ersten neu angelegten Seite einen Textrahmen mit den gewünschten Abmessungen erstellen, diesen Textrahmen auswählen und das Script über das „Script“-Menü ausführen. Anschließend fragt das Script dann ab, bis zu welcher Seite Textrahmen erstellt und ob diese verlinkt werden sollen.

Code: Alles auswählen

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

def createTextFrames(start, end, linkFrames=True):
  width,height = getSize()
  pos_x, pos_y = getPosition()
  name_prev = getSelectedObject()
  for page in xrange(start, end):
    gotoPage(page+1)
    name_next = createText(pos_x, pos_y, width, height)
    if linkFrames:
      linkTextFrames(name_prev, name_next)
      name_prev=name_next

if haveDoc() == False:
  messageBox("Kein Dokument geöffnet", "Um dieses Script auszuführen zu können, muss ein Dokument geöffnet sein.", icon=ICON_WARNING)
elif selectionCount()==1:
  end=int(valueDialog("Seitenzahl eingeben", "Bis zu welcher Seite sollen Textrahmen erzeugt werden?"))
  start = currentPage()
  if start > end:
    messageBox("Seitenzahl ist kleiner als aktuelle Seite", "Die gewählte Seitenzahl ist kleiner als die der aktuellen Seite, sie muss aber größer sein, weil von der aktuellen Seite aus beginnend Textrahmen angelegt werden.", icon=ICON_WARNING)
  else:
    link=messageBox("Textrahmen verketten?", "Sollen Textrahmen verlinkt werden?", button1=BUTTON_YES, button2=BUTTON_NO)
    if link==BUTTON_YES:
      link=True
    else:
      link=False
    createTextFrames(start, end, link)
    docChanged(True)
else:
  messageBox("Element auswählen", "Es muss ein Element ausgewählt sein, es sind aber "+str(selectionCount())+" ausgewählt.", icon=ICON_WARNING)
Nachtrag: Verbesserte Version hochgeladen.
Nachtrag 2: Jetzt auch im Wiki: https://wiki.scribus-user.de/ressourcen ... s_anwenden

Gruß
Julius
Dateianhänge
scribusTextFrames.py
(1.35 KiB) 1139-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:
Bild
Antworten