Dieses Skript erzeugt nummerierte Karten, z.B. Eintrittskarten. Der Code (befindet sich neben Beispieldaten auch im Anhang):
Code: Alles auswählen
#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
#################################
# Einstellungen:
# Anzahl an Karten:
anzahl = 48
# Anzahl der Karten pro Seite:
anzahl_pro_seite = 16
# Anzahl der Spalten:
spalten = 2
# Versatz der rechten Karte von der linken, bzw. von der unteren zur Oberen
abstand_x = 90.89
abstand_y = 33.5975
# Absatzstile für die Textbox mit der Nummer:
stil = "Nummer"
# Musterseite mit dem Layout der Karte:
musterseite = "Karten"
##################################
# Beginn Skript:
# Informationen über das Textfeld beschaffen:
x,y = scribus.getPosition()
breite, hoehe = scribus.getSize()
zaehler = int(scribus.getText())
anzahl_stellen = len(scribus.getText())
# Verschiedene Variablen festlegen...
anzahl_pro_spalte = anzahl_pro_seite / spalten
x_neu = x
y_neu = y + abstand_y
zaehler_seite = 0
zaehler_spalte = 1
while zaehler != anzahl:
while zaehler_seite < anzahl_pro_seite:
while zaehler_spalte < anzahl_pro_spalte:
zaehler = zaehler + 1
zaehler_spalte = zaehler_spalte + 1
rahmen = scribus.createText(x_neu, y_neu, breite, hoehe)
scribus.setText(str(zaehler).zfill(anzahl_stellen), rahmen)
scribus.setStyle(stil, rahmen)
y_neu = y_neu + abstand_y
if zaehler == anzahl:
break
if zaehler == anzahl:
break
x_neu = x_neu + abstand_x
y_neu = y
zaehler_seite = zaehler_seite + zaehler_spalte
zaehler_spalte = 0
if zaehler < anzahl:
zaehler_seite = 0
zaehler_spalte = 0
scribus.newPage(-1, musterseite)
scribus.gotoPage(scribus.pageCount())
y_neu = y
x_neu = x
- Dokument anlegen: Stil für die Nummer namens „Nummer“ und eine Musterseite mit dem Namen „Karten“ (Namen können im Skript geändert werden)
- Skript anpassen: Im ersten Abschnitt die Variablen auf die gewünschten Werte setzen
- Skript ausführen: Den ersten Textrahmen mit der gewünschten Anfangsnummer und der gewünschten Anzahl an Stellen auffüllen, z.B. 00023 und diesen markieren (wichtig!), dann erst das Skript ausführen.
- Das Dokument speichern, exportieren, drucken und (am besten mit einer Schneidevorrichtung) zuschneiden ;-)
Lizenz: (komplett freie Verwendung ohne Quellennachweis)[/size]
Gruß
Julius