Script "ColorChart.py"
Script "ColorChart.py"
Bei der Installation von Scribus werden einige Scripte installiert. Dabei interessiert mich speziell folgendes Script "ColorChart.py". Zu diesem Script hätte ich einige Fragen und Änderungswünsche. Leider konnte ich den im Script benannten Autor nicht ausfindig machen. Ich hatte mich selber an die Änderungen gemacht aber mit wenig Erfolg. Leider kenne mich zu wenig mit der Syntax und den Begrifflichkeiten aus um die Änderungen vor zu nehmen. Deshalb die Frage an euch, kennt ihr eventuell den Autor oder könnt Hilfsstellung bei Änderungen geben?
Re: Script "ColorChart.py"
Hallo Jaccumo,
Was möchtest du ändern?
Zum Scripten in Scribus allgemein: Die Scripte werden in der Sprache Python (genauer Python 2, nicht das neuere Python 3) geschrieben, um die Fähigkeiten von Scribus nutzen zu können, muss das Modul scribus geladen werden. Wenn du selbst Scripte schreiben möchtest, müsstest du als erstes die Grundlagen von Python lernen und dich dann mit Scribus auseinandersetzen. Ein kleines Hallo Welt-Programm für dich, das die Scribus-Versionsnummer in einem Fenster und einem Textrahmen ausgibt:
Im Moment arbeite ich an einem deutschen Scribus-Wiki, dass auch eine, momentan noch sehr unvollständige Dokumentation des Scripters beinhaltet: https://wiki.scribus-user.de/scripter:start
Gruß
Julius
Schildere sie doch bitte, vielleicht können wird dir ja helfen.Jaccumo hat geschrieben:Zu diesem Script hätte ich einige Fragen und Änderungswünsche.
Hat er auf deine E-Mails an die im Script angegebene Adresse nicht geantwortet oder kam die E-Mail „zurück“?Jaccumo hat geschrieben:Leider konnte ich den im Script benannten Autor nicht ausfindig machen. Ich hatte mich selber an die Änderungen gemacht aber mit wenig Erfolg. Leider kenne mich zu wenig mit der Syntax und den Begrifflichkeiten aus um die Änderungen vor zu nehmen.
Was möchtest du ändern?
Zum Scripten in Scribus allgemein: Die Scripte werden in der Sprache Python (genauer Python 2, nicht das neuere Python 3) geschrieben, um die Fähigkeiten von Scribus nutzen zu können, muss das Modul scribus geladen werden. Wenn du selbst Scripte schreiben möchtest, müsstest du als erstes die Grundlagen von Python lernen und dich dann mit Scribus auseinandersetzen. Ein kleines Hallo Welt-Programm für dich, das die Scribus-Versionsnummer in einem Fenster und einem Textrahmen ausgibt:
Code: Alles auswählen
#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
# Versionsnummer in Variable „scribusversion“ speichern
scribusversion = scribus.scribus_version_info
# Versionsnummer formatieren:
version = str(scribusversion[0])+'.'+str(scribusversion[1])+'.'+str(scribusversion[2])
# Fenster mit Versionsnummer ausgeben
scribus.messageBox('Scribus Version', 'Deine Scribus-Version: '+version)
# Wenn kein Dokument geöffnet ist, eines öffnen:
if scribus.haveDoc() == False:
scribus.newDocDialog()
# Textrahmen erzeugen: x-Position: 80, y-Position: 100, Breite: 350, Höhe: 50 und mit Text füllen
name_des_rahmens = scribus.createText(80, 100, 350, 50)
scribus.setText('Hallo Nutzer!', name_des_rahmens)
# Text an Textrahmen anhängen:
scribus.insertText('\nDeine Scribus-Version ist: '+version, -1, name_des_rahmens)
Ersteres nein, letzteres: Dazu müsstest du erst einmal mitteilen, was du ändern möchtest...Jaccumo hat geschrieben:Deshalb die Frage an euch, kennt ihr eventuell den Autor oder könnt Hilfsstellung bei Änderungen geben?
Gruß
Julius
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:
Re: Script "ColorChart.py"
Vielen Dank für die schnelle Rückmeldung,
und die Unterstützung bei der Veränderung des Scripte. Dein Script mit der Ausgabe der Scribus Version hat ohne Probleme funktioniert.
Kurz vorweg, Python hatte ich schnell installiert und ein passender Editor war auch schnell gefunden. Das Module wie "Scribus" geladen werden müssen war dann auch schnell klar, aber dann gingen dir Probleme los.
Welche Befehle, Funktionen oder Prozeduren müssen wie geschrieben und mit welchen Parametern versehen werden.
Was soll am Script verändert werden:
Folgende Parameter sollen per Eingabe frei wählbar sein,
- feste Seitengröße von A4 soll frei wählbar
- Seitenränder frei wählbar
- Größe und Position der Farbfelder frei wählbar (immer ohne Rand)
auch wenn man dabei selber ein wenig rechnen muss
- Schriftart und Schriftgröße des Farbnamen
- RGB und CMYK Werte müssen nicht ausgegeben werden
dazu müssten Farbräume, Farbprofile und der Rendering Intent berücksichtigt werden
Ich hoffe, dass sind nicht zu viel Änderungen auf einmal, wenn es Schritt für Schritt umgesetzt wird wäre es besser.
MfG
Jaccumo
und die Unterstützung bei der Veränderung des Scripte. Dein Script mit der Ausgabe der Scribus Version hat ohne Probleme funktioniert.
Kurz vorweg, Python hatte ich schnell installiert und ein passender Editor war auch schnell gefunden. Das Module wie "Scribus" geladen werden müssen war dann auch schnell klar, aber dann gingen dir Probleme los.
Welche Befehle, Funktionen oder Prozeduren müssen wie geschrieben und mit welchen Parametern versehen werden.
Was soll am Script verändert werden:
Folgende Parameter sollen per Eingabe frei wählbar sein,
- feste Seitengröße von A4 soll frei wählbar
- Seitenränder frei wählbar
- Größe und Position der Farbfelder frei wählbar (immer ohne Rand)
auch wenn man dabei selber ein wenig rechnen muss
- Schriftart und Schriftgröße des Farbnamen
- RGB und CMYK Werte müssen nicht ausgegeben werden
dazu müssten Farbräume, Farbprofile und der Rendering Intent berücksichtigt werden
Ich hoffe, dass sind nicht zu viel Änderungen auf einmal, wenn es Schritt für Schritt umgesetzt wird wäre es besser.
MfG
Jaccumo
Re: Script "ColorChart.py"
Hallo Jaccumo,
Eine Liste mit Funktionen gibt es im Wiki, einige davon werden dort schon erklärt, aber zum Arbeiten würde ich momentan die offizielle Doku benutzen, zu erreichen über: Hilfe > Handbuch für Scribus > Für Entwickler > Scripter-API
Bei Python musst du beachten, dass die Einrücktiefe die Verschachtelung in Schleifen und Bedingungen bestimmt, wo bei anderen Sprachen wie PHP oder C Schleifen zum Einsatz kommen, ein schlecht formatiertes Beispiel in PHP:
In Python musst du durch den Verzicht auf Klammern (stattdessen Einrückung) und das den Befehl beendenenes Semikolon (stattdessen Zeilenumbruch) zwangsläufig lesbar programmieren:
Als Vorgehensweise zum Lernen würde ich dir empfehlen, mein Beispielskript (und / oder ein anderes einfache Skript) durchzuarbeiten und die Befehle nachzuschlagen, zu verstehen, was sie machen und Änderungen vorzunehmen.
Und nun zu ein paar Ideen, was du ändern könntest:
ersetzt folgenden Original-Code:
Ich glaube, setFontSize brauche ich nicht erklären ;-) Wenn du nach setFontSize folgende Zeile einfügst, kannst du den Schriftschnitt setzen:
Du kannst der Variablen colorstring in Zeile 235 andere Werte zuweisen, zum Beispiel nur den Namen der Farbe:
Gruß
Julius
Versuche, es zu verstehen, dazu war es gedacht. Ich plane, so etwas Ähnliches mit mehr Erklärungen als Tutorial ins Wiki zu packen, aber die Zeit...Jaccumo hat geschrieben:Dein Script mit der Ausgabe der Scribus Version hat ohne Probleme funktioniert.
Wird Python nicht mit Scribus mitgeliefert? Ich nutze kein Windows (klingt, als ob du Windows nutzt)...Kurz vorweg, Python hatte ich schnell installiert und ein passender Editor war auch schnell gefunden. Das Module wie "Scribus" geladen werden müssen war dann auch schnell klar, aber dann gingen dir Probleme los.
Welche Befehle, Funktionen oder Prozeduren müssen wie geschrieben und mit welchen Parametern versehen werden.
Eine Liste mit Funktionen gibt es im Wiki, einige davon werden dort schon erklärt, aber zum Arbeiten würde ich momentan die offizielle Doku benutzen, zu erreichen über: Hilfe > Handbuch für Scribus > Für Entwickler > Scripter-API
Bei Python musst du beachten, dass die Einrücktiefe die Verschachtelung in Schleifen und Bedingungen bestimmt, wo bei anderen Sprachen wie PHP oder C Schleifen zum Einsatz kommen, ein schlecht formatiertes Beispiel in PHP:
Code: Alles auswählen
$foo = 'bar'; if($foo == 'bar') {echo 'Hallöchen'; $test = 123; }
Code: Alles auswählen
foo = 'bar'
if foo == 'bar':
print 'Hallöchen'
test = 123
Und nun zu ein paar Ideen, was du ändern könntest:
Hier verstehe ich nicht, was du meinst, A4 ist immer 210 mm breit und 297 mm hoch...Jaccumo hat geschrieben:- feste Seitengröße von A4 soll frei wählbar
Nach Zeile 153 habe ich folgendes eingefügt:Jaccumo hat geschrieben:- Seitenränder frei wählbar
Code: Alles auswählen
scribus.statusMessage("Preparing new document...")
rahmenabstand_oben = float(scribus.valueDialog('Rahmenabstand oben', 'Wert (Einheit pt) eingeben:', '20'))
rahmenabstand_seitlich = float(scribus.valueDialog('Rahmenabstand seitlich', 'Wert (Einheit pt) eingeben:', '15'))
scribus.newDocument(scribus.PAPER_A4, (rahmenabstand_seitlich,rahmenabstand_seitlich, rahmenabstand_oben,rahmenabstand_oben), scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.PAGE_1, 0, 1)
scribus.setUnit(scribus.UNIT_MILLIMETERS)
Code: Alles auswählen
scribus.statusMessage("Preparing new document...")
scribus.newDocument(scribus.PAPER_A4, (15,15, 20, 20), scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.PAGE_1, 0, 1)
scribus.setUnit(scribus.UNIT_MILLIMETERS)
Dafür ist der Befehl createRect zuständig, das Ganze geschieht in Zeile 238 des Original-Skripts, dort müsstest du deine Änderungen vornehmen (z.B. die Breite direkt statt der Variablen eintragen), du könntest das so lösen, wie das mit den Rahmenabständen weiter oben.Jaccumo hat geschrieben:- Größe und Position der Farbfelder frei wählbar (immer ohne Rand) auch wenn man dabei selber ein wenig rechnen muss
Dazu müsstest du rund um die Zeile 248 anpassen, bzw. ergänzen, Original-Code:Jaccumo hat geschrieben:- Schriftart und Schriftgröße des Farbnamen
Code: Alles auswählen
textbox=scribus.createText(h+width+5, v, 50, height)
#set proper font size
scribus.setFontSize(11, textbox)
scribus.setTextAlignment(scribus.ALIGN_LEFT, textbox)
Code: Alles auswählen
scribus.setFont('Arial Italic', textbox)
Ab Zeile 232 (Original):Jaccumo hat geschrieben:- RGB und CMYK Werte müssen nicht ausgegeben werden
Code: Alles auswählen
colorDisplay = colorname
if scribus.isSpotColor(colorname):
colorDisplay += " (Spot Color)"
colorstring="%s\nC %i, M %i, Y %i, K %i, \nR %i, G %i, B %i \nRGB: %s" %(colorDisplay, c, m, y, k, r, g, b, webcolor)
Code: Alles auswählen
colorstring=colorDisplay
Uff, da bin ich am Ende meines Lateins, ich weiß nicht, ob das im Scripter geht...dazu müssten Farbräume, Farbprofile und der Rendering Intent berücksichtigt werden.
Gruß
Julius
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:
Re: Script "ColorChart.py"
deine Ergänzungen sind verständlich und hilfreich. Ich konnte alles in das vorhandene Script einbauen und es hat auch alles funktioniert. In der Anlage habe ich mal eine von Hand erzeugte Farbtafel eingefügt. Es geht dabei nur um die Farbfelder und Farbnamen. Die Umrechnung in RGB, HEX oder CMYK ist nicht notwendig, kann alles entfallen. Es wäre schön, wenn gleich am Anfang die Abfrage zum Seitenformat kommt, da ich diese Tafeln nicht immer auf DIN A4 benötige. Dann die Abfrage der Größe der Farbfelder, die Textfelder sind so breit wie die Farbfelder und 5 mm darunter.
MfG Jaccumo
Re: Script "ColorChart.py"
Hallo Jaccumo,
durch
ersetzen, dann kommt die normale Dokument-Erstellen-Abfrage, dort kannst du alles Mögliche einstellen.
Gruß
Julius
Ganz einfach, den Code vom letzten MalJaccumo hat geschrieben:Es wäre schön, wenn gleich am Anfang die Abfrage zum Seitenformat kommt, da ich diese Tafeln nicht immer auf DIN A4 benötige.
Code: Alles auswählen
scribus.statusMessage("Preparing new document...")
rahmenabstand_oben = float(scribus.valueDialog('Rahmenabstand oben', 'Wert (Einheit pt) eingeben:', '20'))
rahmenabstand_seitlich = float(scribus.valueDialog('Rahmenabstand seitlich', 'Wert (Einheit pt) eingeben:', '15'))
scribus.newDocument(scribus.PAPER_A4, (rahmenabstand_seitlich,rahmenabstand_seitlich, rahmenabstand_oben,rahmenabstand_oben), scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.PAGE_1, 0, 1)
scribus.setUnit(scribus.UNIT_MILLIMETERS)
Code: Alles auswählen
scribus.statusMessage("Preparing new document...")
scribus.newDocDialog()
scribus.setUnit(scribus.UNIT_MILLIMETERS)
Wie die Abfragen von Werten funktionieren, habe ich ja bereits erklärt, wie man das ganze zeilen- und spaltenweise durchgeht, kannst dir in diesem Skript zum erstellen von nummerierten Eintrittskarten anschauen (für dich sind die beiden ineinander verschachtelten while-Schleifen gegen Ende des Skripts interessant).Jaccumo hat geschrieben:Dann die Abfrage der Größe der Farbfelder, die Textfelder sind so breit wie die Farbfelder und 5 mm darunter.
Gruß
Julius
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:
Re: Script "ColorChart.py"
Hallo Julius,
vielen Dank erst einmal für die Unterstützung bei der Änderung des Scripts und den Hinweis auf die while-Schleifen. Die letzten Tage habe ich mich mit den Basics beschäftigt, da ich weder Phyton noch den Unterbau von Scribus kenne. Ich habe mir ein Script gebastelt mit dem ich diverse Werte die ich für die Berechnung der Feldposition benötige abfragen kann. Trotzdem sind z.Bsp. Folgende Zeilen im original Script für mich nicht nachvollziehbar, auch nicht im Kontext zum gesamten Code:
- 108 und 170 scribus.setSpotColor
- 169 spotDict.has_key(cname)
- 233 scribus.isSpotColor(colorname)
Da ich um die Farbfelder keinen Rahmen benötige würde ich diesen gern auf Umriss 0 mm oder Farbe keine setzen, da fehlt mir auch der passende Befehl. Der folgende Befehl setzt den Umriss auf Haarlinie – scribus.setLineWidth(0.0,rect) – Haarlinie ist aber keine definierte Größe und abhängig vom Ausgabegerät (Drucker o.ä.).
Wie kann ich den Zeilenabstand in einer Textbox auf Zeilenabstand „auto“ einstellen?
Für weiter Unterstützung wäre ich sehr dankbar, auch wenn es noch um Grundlagen geht.
MfG Jaccumo
vielen Dank erst einmal für die Unterstützung bei der Änderung des Scripts und den Hinweis auf die while-Schleifen. Die letzten Tage habe ich mich mit den Basics beschäftigt, da ich weder Phyton noch den Unterbau von Scribus kenne. Ich habe mir ein Script gebastelt mit dem ich diverse Werte die ich für die Berechnung der Feldposition benötige abfragen kann. Trotzdem sind z.Bsp. Folgende Zeilen im original Script für mich nicht nachvollziehbar, auch nicht im Kontext zum gesamten Code:
- 108 und 170 scribus.setSpotColor
- 169 spotDict.has_key(cname)
- 233 scribus.isSpotColor(colorname)
Da ich um die Farbfelder keinen Rahmen benötige würde ich diesen gern auf Umriss 0 mm oder Farbe keine setzen, da fehlt mir auch der passende Befehl. Der folgende Befehl setzt den Umriss auf Haarlinie – scribus.setLineWidth(0.0,rect) – Haarlinie ist aber keine definierte Größe und abhängig vom Ausgabegerät (Drucker o.ä.).
Wie kann ich den Zeilenabstand in einer Textbox auf Zeilenabstand „auto“ einstellen?
Für weiter Unterstützung wäre ich sehr dankbar, auch wenn es noch um Grundlagen geht.
MfG Jaccumo
Re: Script "ColorChart.py"
Das ist gut und richtig!Jaccumo hat geschrieben:Vielen Dank erst einmal für die Unterstützung bei der Änderung des Scripts und den Hinweis auf die while-Schleifen. Die letzten Tage habe ich mich mit den Basics beschäftigt, da ich weder Phyton noch den Unterbau von Scribus kenne.
Jaccumo hat geschrieben:Ich habe mir ein Script gebastelt mit dem ich diverse Werte die ich für die Berechnung der Feldposition benötige abfragen kann. Trotzdem sind z.Bsp. Folgende Zeilen im original Script für mich nicht nachvollziehbar, auch nicht im Kontext zum gesamten Code:
Spot Color ist nun mal der Begriff für eine Schmuckfarbe, isSpotColor gibt – dem Namen nach – true zurück, wenn es eine Schmuckfarbe ist, bei setSpotColor wird eine neue Sonderfarbe erzeugt.Jaccumo hat geschrieben:
- 108 und 170 scribus.setSpotColor
- 233 scribus.isSpotColor(colorname)
Hier wird überprüft, ob im Dictionary (das Python-Äquivalent zu assoziativen Arrays) spotDict ein Schlüssel, dessen Namen in der Variablen cname gespeichert ist, vorhanden ist. Such mal nach „dictionary python“, andere können das wesentlich besser erklären als ich...Jaccumo hat geschrieben:169 spotDict.has_key(cname)
Ich würde einfach keine Farbe setzen: setLineColor("none", rect), aber vielleicht gibt es aber auch bessere Methoden.Jaccumo hat geschrieben:Da ich um die Farbfelder keinen Rahmen benötige würde ich diesen gern auf Umriss 0 mm oder Farbe keine setzen, da fehlt mir auch der passende Befehl. Der folgende Befehl setzt den Umriss auf Haarlinie – scribus.setLineWidth(0.0,rect) – Haarlinie ist aber keine definierte Größe und abhängig vom Ausgabegerät (Drucker o.ä.).
Jaccumo hat geschrieben:Wie kann ich den Zeilenabstand in einer Textbox auf Zeilenabstand „auto“ einstellen?
Eine direkte Methode habe ich nicht gefunden, aber du könntest per createParagraphStyle einen Absatzstil mit automatischen Abstand erzeugen und per setStyle auf den Textrahmen anwenden.
Keine Ursache, ich lerne ja auch noch etwas dabei. Außerdem gibt es für meinen Geschmack zu wenig Leute, die Scribus scripten können. Im Moment sind nur wir beiden und a.l.e. in diesem Forum aktiv...Jaccumo hat geschrieben:Für weiter Unterstützung wäre ich sehr dankbar, auch wenn es noch um Grundlagen geht.
Gruß
Julius
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:
Re: Script "ColorChart.py"
In der Scribus-Hilfe sind diverse Begriffe beschrieben. "SpotColor" + „isSpotColor“ konnte ich nicht finden, gibt es Literatur oder Internetseiten die da weiter helfen?
In meiner Farbtafel möchte ich nur Sonderfarben ausgeben alle anderen Farben sind zu vernachlässigen. Den Befehl „setSpotColor“ benötige ich demzufolge nicht. Es würde mir eine Liste mit den Sonderfarben reichen.
Zu „spotDict.has_key(cname)“ war der Hinweis perfekt. Dazu habe ich auf folgender Internetseite die passenden Infos gefunden. http://www.python-kurs.eu/python3_dictionaries.php
Noch einmal kurz zum Rahmen des Farbfeldes, auch dazu hatte ich die Hilfe von Scribus bemüht, aber leider ohne den richtigen Wert „none“zu finden. Gibt es da Quellen die die Wertevielfalt dokumentiert.
Den automatischen Zeilenabstand habe ich mit folgenden Zeilen gelöst
In den meisten DTP Programmen entspricht der automatische Zeilenabstand 120% der Schriftgröße, so auch in Scribus.
Bis ich meine Farbtafeln ausgeben kann, werden wohl noch einige Nächte notwendig sein. An mein Struktogramm kann ich höchstens 10 % Code dran schreiben. Der Rest befindet sich noch im Nebel.
Ist schon schade, dass sich nicht mehr mit Scripten beschäftigen. Na ja wird eventuell noch.
MfG Jaccumo
In meiner Farbtafel möchte ich nur Sonderfarben ausgeben alle anderen Farben sind zu vernachlässigen. Den Befehl „setSpotColor“ benötige ich demzufolge nicht. Es würde mir eine Liste mit den Sonderfarben reichen.
Zu „spotDict.has_key(cname)“ war der Hinweis perfekt. Dazu habe ich auf folgender Internetseite die passenden Infos gefunden. http://www.python-kurs.eu/python3_dictionaries.php
Noch einmal kurz zum Rahmen des Farbfeldes, auch dazu hatte ich die Hilfe von Scribus bemüht, aber leider ohne den richtigen Wert „none“zu finden. Gibt es da Quellen die die Wertevielfalt dokumentiert.
Den automatischen Zeilenabstand habe ich mit folgenden Zeilen gelöst
Code: Alles auswählen
FontSize = 10
scribus.setFontSize(FontSize, name_des_rahmens)
scribus.setLineSpacing(FontSize*1.2, name_des_rahmens)
Bis ich meine Farbtafeln ausgeben kann, werden wohl noch einige Nächte notwendig sein. An mein Struktogramm kann ich höchstens 10 % Code dran schreiben. Der Rest befindet sich noch im Nebel.
Ist schon schade, dass sich nicht mehr mit Scripten beschäftigen. Na ja wird eventuell noch.
MfG Jaccumo
Re: Script "ColorChart.py"
Hallo Jaccumo,
Ich benutze folgende Informationsquellen:
Gruß
Julius
Leider nein. Ich habe in dem Bezug einfach nur gut erraten (die Funktionsnamen waren da ja relativ eindeutig).Jaccumo hat geschrieben:In der Scribus-Hilfe sind diverse Begriffe beschrieben. "SpotColor" + „isSpotColor“ konnte ich nicht finden, gibt es Literatur oder Internetseiten die da weiter helfen?
Ich benutze folgende Informationsquellen:
- Die offizielle Dokumentation, die – wie du schon bemerkt hast – nicht alle Funktionen abdeckt.
- Eine Liste aller Funktionen und Variablen, die Scribus 1.4.6 bereitstellt.
- Suchen im Internet (manchmal wurde der Quellcode von Scripten indexiert, die von der gesuchten Funktion Gebrauch machen)
- Der Quellcode von Scribus 1.4.6 (die für den Scripter relevanten Dateien liegen unter scribus-1.4.6/scribus/plugins)
Wenn ich die relevante Stelle im Script richtig in Erinnerung habe, geht es an dieser Stelle darum, gerade die Sonderfarben aus dem gewählten Dokument auszulesen und in das Dokument für die Farbtabelle zu importieren...Jaccumo hat geschrieben:In meiner Farbtafel möchte ich nur Sonderfarben ausgeben alle anderen Farben sind zu vernachlässigen. Den Befehl „setSpotColor“ benötige ich demzufolge nicht. Es würde mir eine Liste mit den Sonderfarben reichen.
Nicht, dass ich wüsste. Ich habe auch keine Ahnung woher ich den Wert überhaupt kannte – vielleicht erraten?Jaccumo hat geschrieben:Noch einmal kurz zum Rahmen des Farbfeldes, auch dazu hatte ich die Hilfe von Scribus bemüht, aber leider ohne den richtigen Wert „none“ zu finden. Gibt es da Quellen die die Wertevielfalt dokumentiert.
Wenn es funktioniert, ist es eine gute Lösung!Jaccumo hat geschrieben:Den automatischen Zeilenabstand habe ich mit folgenden Zeilen gelöstIn den meisten DTP Programmen entspricht der automatische Zeilenabstand 120% der Schriftgröße, so auch in Scribus.Code: Alles auswählen
FontSize = 10 scribus.setFontSize(FontSize, name_des_rahmens) scribus.setLineSpacing(FontSize*1.2, name_des_rahmens)
Momentan fehlen einfach eine vernünftige Dokumentation und eine Einführung in das Thema, die diese Bezeichnung auch wirklich verdienen!Jaccumo hat geschrieben:Ist schon schade, dass sich nicht mehr mit Scripten beschäftigen. Na ja wird eventuell noch.
Gruß
Julius
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: