Laden...

PCL – Spalten rechtsbündig ausgeben

Erstellt von pollito vor 5 Jahren Letzter Beitrag vor 5 Jahren 842 Views
pollito Themenstarter:in
314 Beiträge seit 2010
vor 5 Jahren
PCL – Spalten rechtsbündig ausgeben

Hallo,

ich brauche wieder einen Denkanstoß von euch. Eine alte Anwendung liefert Druckdaten in Textform:1.In den Druckdaten können sich auch Befehle für einen PCL-Drucker verbergen. 1.Diese Befehle werden interpretiert und durch PCL-Sequenzen ersetzt. 1.Beim Drucken liest die Anwendung eine einfache Treiber-Datei ein. Diese enthält je Zeile einen Befehl und die dazugehörige PCL-Sequenz. 1.Diese Treiber-Datei lässt sich beliebig mit weiteren Befehlen ergänzen. Diese Befehle kann ich auch an beliebigen Stellen einfügen, so dass ich den Ausdruck damit steuern/gestalten kann.

Nun zu meinem Problem:

Ich verwende der Einfachheit halber nichtproportionale Schriften wie z. B. Courier. Damit können z. B. Zahlen schön tabellarisch angeordnet (rechtsbündig) ausgegeben werden. Dazu liefert die Anwendung je Spalte immer gleich lange Inhalte, die nach Bedarf von links her mit Leerzeichen aufgefüllt werden, um den Spaltendruck zu realisieren.

Nun müssen jetzt aber proportionale Schriften benutzt werden, was die ganze Sache verkompliziert. Ich kann zwar problemlos durch geeignete PCL-Befehle den Cursor an eine beliebige Stelle innerhalb der aktuellen Seite positionieren, sobald ich aber Inhalte rechtsbündig ausgeben will, bekomme ich selbstverständlich einen Flattersatz.

Beispiel:

Mit nichtproportionaler Schrift:

"     1"
"  1111"
"  9003"
"111111"

Mit proportionaler Schrift:
" 1"
" 1111"
" 9003"
"111111"

Im Beispiel sind alle vier Felder 6 Zeichen lang und werden rechts ausgerichtet, indem diese von links her mit Leerzeichen aufgefüllt werden. Hier sieht man ganz schön das Problem.

Gibt es in PCL eine Möglichkeit, um einen Text von rechts nach links auszugeben?

Eventuell wäre auch eine Lösung, den Text gespiegelt auszugeben, denn ich kann an jeder Stelle das Blatt um 180° drehen, nur blöd, dass dann der Text auf dem Kopf steht... X(

Mein letzter Versuch war die Verwendung des Befehls "LO" aus der Plottersprache HP-GL/2 – leider schaffe ich aber mangels Kenntnisse darüber nicht, überhaupt etwas auszugeben.

Hat oder kennt jemand eine Lösung für dieses Problem?

Im Voraus lieben Dank!

René

pollito Themenstarter:in
314 Beiträge seit 2010
vor 5 Jahren

Problem gelöst. Ich habe eine Routine entwickelt, die ab einer bestimmten Stelle entweder von links nach rechts oder anders herum von rechts nach links einen Text zeichenweise in festen Abständen ausgeben kann, unabhängig davon, ob es sich um eine proportionale oder nicht proportionale Schriftart handelt.

René