Postscript Type1-Schriften (pfa) verwenden?
Hallo zusammen,
ich versuche seit Tagen eine PFA-Datei an einen Postscript-Drucker zu senden. Leider ohne Erfolg. Ich habs schon mit print.exe und dem copy-Befehl probiert. Der Drucker empfängt die Daten auch, verarbeitet sie aber entweder nicht korrekt, oder verliert sie wieder. Jedenfalls findet er beim anschliessenden Druck die Schrift scheinbar nicht mehr und verwendet Courier. Wieso kann ich bis jetzt immer noch nicht nachvollziehen, ich hab die Schriften sogar schon versucht resident in den Drucker zu laden.
Hintergrund ist das wir für einen Kunden die Wartung einer bestehenden Software übernommen haben und bei ihm scheint es zu funktionieren. Hier mal ein Ausschnitt aus dem Code (die Programmiersprache werden zwar die wenigsten kennen, aber ich denke man kanns trotzdem verstehen):
Da es beim Kunden funktioniert geht meine Vermutung nun langsam in die Richtung das es entweder am Drucker oder am Treiber liegt. Vielleicht kann mir jemand von euch sagen was ich in dem Zusammenhang evtl. noch alles beachten muss? Ich wäre für jede Hilfe echt dankbar!
LG, Sascha
ich versuche seit Tagen eine PFA-Datei an einen Postscript-Drucker zu senden. Leider ohne Erfolg. Ich habs schon mit print.exe und dem copy-Befehl probiert. Der Drucker empfängt die Daten auch, verarbeitet sie aber entweder nicht korrekt, oder verliert sie wieder. Jedenfalls findet er beim anschliessenden Druck die Schrift scheinbar nicht mehr und verwendet Courier. Wieso kann ich bis jetzt immer noch nicht nachvollziehen, ich hab die Schriften sogar schon versucht resident in den Drucker zu laden.
Hintergrund ist das wir für einen Kunden die Wartung einer bestehenden Software übernommen haben und bei ihm scheint es zu funktionieren. Hier mal ein Ausschnitt aus dem Code (die Programmiersprache werden zwar die wenigsten kennen, aber ich denke man kanns trotzdem verstehen):
Puffer # k.ClientPfad + '\font\Code39.pfa';
tErg # SysExecute('Print.exe','/D:' + aDrucker + ' ' + Puffer,_ExecWait + _ExecMinimized);
syssleep(6000);
////
Puffer # k.ClientPfad + '\font\CB.pfa';
tErg # SysExecute('Print.exe','/D:' + aDrucker + ' ' + Puffer,_ExecWait + _ExecMinimized);
syssleep(6000);
Puffer # k.ClientPfad + '\font\HE.pfa';
tErg # SysExecute('Print.exe','/D:' + aDrucker + ' ' + Puffer,_ExecWait + _ExecMinimized);
SysSleep(6000);
Da es beim Kunden funktioniert geht meine Vermutung nun langsam in die Richtung das es entweder am Drucker oder am Treiber liegt. Vielleicht kann mir jemand von euch sagen was ich in dem Zusammenhang evtl. noch alles beachten muss? Ich wäre für jede Hilfe echt dankbar!
LG, Sascha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 129048
Url: https://administrator.de/forum/postscript-type1-schriften-pfa-verwenden-129048.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
nur mal so zur Verständnisfrage, wie das so mit dem Drucken funktioniert:
- es wird eine Schriftart in den Drucker geladen
- es soll ein Text gedruckt
- dieser Text soll in der gerade runtergeladenen Schriftart gedruckt werden
- ergo muß also irgendwo auf diesem Wege
- entweder die runtergeladene Schriftart eine vorhandene ersetzen (also sich auf dem Speicherplatz einer anderen (voreingestellten) Schriftart "breitmachen")
- oder im Datenstrom, der den Text beinhaltet, muß stehen, daß anstelle von Schriftart "X" die Schriftart "Y" (die gerade in den Drucker geladen wurde) genommen werden soll
Anhand des Code-Schnipsels kann ich bisher nur erkennen, daß
- in einen Bereich "Puffer" eine Outline-Schriftdatei geladen wird,
- die dann per Print-Befehl auf einen Drucker geschickt wird.
- und das wiederholt sich dreimal für je eine Schriftart.
(Da sich der Bereich "Puffer" von der Adressierung her nicht ändert, werden nach meiner Sicht alle Dateien in denselben Bereich geladen, mit dem Ergebnis, daß nur die letzte Datei tatsächlich "angekommen" ist.)
Wo die Schriftarten dann tatsächlich im Drucker landen, ist für mich nicht zu erkennen.
Vielleicht ist meine Sicht der Dinge ja nicht korrekt, so daß es anders funktioniert. Dann würde ich mich über eine Erläuterung freuen. Nur bish hierher sehe ich keinen Ansatzpunkt für eine Lösung.
Gruß J
chem
nur mal so zur Verständnisfrage, wie das so mit dem Drucken funktioniert:
- es wird eine Schriftart in den Drucker geladen
- es soll ein Text gedruckt
- dieser Text soll in der gerade runtergeladenen Schriftart gedruckt werden
- ergo muß also irgendwo auf diesem Wege
- entweder die runtergeladene Schriftart eine vorhandene ersetzen (also sich auf dem Speicherplatz einer anderen (voreingestellten) Schriftart "breitmachen")
- oder im Datenstrom, der den Text beinhaltet, muß stehen, daß anstelle von Schriftart "X" die Schriftart "Y" (die gerade in den Drucker geladen wurde) genommen werden soll
Anhand des Code-Schnipsels kann ich bisher nur erkennen, daß
- in einen Bereich "Puffer" eine Outline-Schriftdatei geladen wird,
- die dann per Print-Befehl auf einen Drucker geschickt wird.
- und das wiederholt sich dreimal für je eine Schriftart.
(Da sich der Bereich "Puffer" von der Adressierung her nicht ändert, werden nach meiner Sicht alle Dateien in denselben Bereich geladen, mit dem Ergebnis, daß nur die letzte Datei tatsächlich "angekommen" ist.)
Wo die Schriftarten dann tatsächlich im Drucker landen, ist für mich nicht zu erkennen.
Vielleicht ist meine Sicht der Dinge ja nicht korrekt, so daß es anders funktioniert. Dann würde ich mich über eine Erläuterung freuen. Nur bish hierher sehe ich keinen Ansatzpunkt für eine Lösung.
Gruß J