willsonlincake 发表于 2022-4-15 01:58:22

德国大神开发的门票生成工具

#!/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

页: [1]
查看完整版本: 德国大神开发的门票生成工具