Antwort schreiben...
 
Themen-Optionen Thema durchsuchen
Alt 02.04.2010, 16:57   #1
leecher
Moderator
OA4 drucken von DOS auf GDI-Drucker und/oder in PDF

Hallo liebe Community,

Nachdem ich im Forum immer wieder über Probleme mit dem Drucken aus OA4 gelesen habe, habe ich mir gedacht, ich werde hier mal einen Lösungsansatz bereitstellen.
Manche User haben Probleme mit ihren neu erworbenen GDI-Druckern (Meist billige Drucker, die kein PCL können), andere User würden gerne PDF-Dokumente aus den OA-Ausdrucken erstellen.
Ich möchte allerdings betonen, dass diese Lösung kein mustergültiger Ersatz für einen echten PCL-Drucker ist, ein PCL-fähiger Drucker ist in jedem Fall vorzuziehen.

Beginnen wir vorerst mit der Problemstellung:
Bei GDI-Druckern ist der Druckprozessor ganz einfach nicht in der Lage, PCL (o.ä.) Steuersequenzen zu interpretieren, und man muss daher selber die Steuersequenzen zu einem Bild Rastern, und dieses Bild dann dem Windows Druckertreiber zum Ausdruck auf dem Drucker übergeben.
Ähnlich verhält es sich auch mit dem PDF-Druck. Hier müssen die Steuersequenzen des Druckers in das Postscript-Format (ebenfalls eine Druckerbeschreibungssprache) gerendert werden, aus dem sich dann ein PDF erstellen lässt.
Das Hauptproblem liegt also im Rendering der Steuersequenzen.

Die Firma Artifex Software Inc. stellt hierfür eine schöne Lösung bereit: Das GhostPCL Paket, welches eine modifizierte Ghostscript-Version beinhaltet, die PCL-Steuersequenzen verarbeiten und rendern kann.
Allerdings wird hier nur der Sourcecode zum Download angeboten, kompilieren muss man es sich selber. Die Standardversion des Makefiles beinhaltet allerdings keine Unterstützung für die Ausgabe der Daten auf einem Windows-Drucker, obwohl Ghostscript das eignetlich kann, also habe ich die Makefiles und auch den Druckertreiber leicht modifiziert, sodass diese Option von Ghostscript unterstützt wird und habe die fertig kompilierte Version in mein Druckpaket inkludiert. GhostPCL ist netterweise auch in der Lage, gleich direkt ohne Umwege PDF-Dateien zu erstellen. Ein PCL-Kompatibler OA-Druckertreiber ist z.B. der HP Laserjet.

Wer es etwas simpler haben will, und wem einfache Formatierungen wie Kursiv, Fett, Unterstrichen und Farbig, sowie die Angabe der Schriftgröße reichen, der findet eventuell auch mit den ESC/P Sequenzen des EPSON LQ/SQ Druckers das Auslangen. Diese Lösung ist weniger Umfangreich als GhostPCL, ich habe daher ein kleines Programm geschrieben, welches diese Sequenzen rendern und auf einen Windows-Drucker ausgeben kann. Der Sourcecode ist wie immer inkludiert. Möchte man nur reinen Text ausgeben, sieht der Output hier eventuell sogar besser aus als der von GhostPCL. Im Prinzip arbeitet mein Programm so ähnlich wie das bekannte kostenpflichtige Tool DOSPRN.

Je nach Anforderung kann man sich also entscheiden, welche Lösung man nehmen möchte. Die hier angebotene Lösungen funktioniert ansich mit allen DOS-Programmen, sie sind also nicht auf OpenAccess beschränkt.

Für die Funktionsweise und Einrichtung des Ganzen ist im doc-Verzeichnis des Pakets eine Readme-Datei inkludiert, in der alles beschrieben steht. Ich habe sie in Englischer Sprache verfasst, damit auch internationale Benutzer diese verwenden können.
Sollte jemand Schwierigkeiten mit der Anleitung haben oder der Englischen Sprache nicht mächtig sein, keine Scheue, einfach hier posten, ich werde helfen.
Das gilt natürlich auch für sonstige Probleme mit der Einrichtung.

Viel Spaß damit, ich hoffe, es kann wer brauchen.
Ach ja, und schon etwas verfrüht: Frohes Osterfest!
Angehängte Dateien
Dateityp: zip dospr.zip‎ (6.18 MB, 204x aufgerufen)
leecher ist offline   Mit Zitat antworten
Alt 17.04.2010, 12:49   #2
Noonien
Registrierter Benutzer
Erstmal Danke für deine Arbeit. Funktioniert perfekt.

Nur habe ich ein Problem. Wenn ich im Querformat drucke, wird die PDF immer im Hochformat erstellt. Gibt es da einen Parameter wo ich das einstellen kann?

Darüber hinaus hätte ich noch eine Frage zum Druck aus der Programmierung. Kann ich direkt den Pfad+Dateinamen im Druck mitgeben so das ich das nicht manuell bei jedem Druck eingeben muss?

Danke im Voraus für die Hilfe

Gruß
Noonien ist offline   Mit Zitat antworten
Alt 18.04.2010, 10:19   #3
leecher
Moderator
Hallo,

Zitat:
Zitat von Noonien Beitrag anzeigen
Erstmal Danke für deine Arbeit. Funktioniert perfekt.
Juhu, danke fürs erste feedback!

Zitat:
Zitat von Noonien Beitrag anzeigen
Nur habe ich ein Problem. Wenn ich im Querformat drucke, wird die PDF immer im Hochformat erstellt. Gibt es da einen Parameter wo ich das einstellen kann?
In der PCLenv.bat einfach folgende Option wegnehmen (bei mir hat die Hoch/Querformaterkennung von GhostPCL nicht immer funktioniert und wenn man sie nicht dediziert über PCL angegeben hat, hat er so manchmal im Querformat gedruckt, daher ist die Option drin):
Code:
 -J"@PJL SET ORIENTATION=PORTRAIT"
Zitat:
Zitat von Noonien Beitrag anzeigen
Darüber hinaus hätte ich noch eine Frage zum Druck aus der Programmierung. Kann ich direkt den Pfad+Dateinamen im Druck mitgeben so das ich das nicht manuell bei jedem Druck eingeben muss?
Natürlich kann man Ghostscript auch direkt aufrufen. Dafür empfiehlt es sich, eine modifizierte Version der Datei _pcl2pdf.bat zu erstellen:

makepdf.bat
Code:
@echo off
echo Converting PCL to PDF....
call pclenv.bat
pcl6 -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE#pdfwrite  %PCLOPTS% -sOutputFile#%2 %1
del %1
Diese kann man dann z.B. direkt aus der Programmierung heraus aufrufen:
Code:
makepdf.bat <PCL file> <PDF file>
Den Watcher (also pcl2pdf.bat) braucht man in dem Fall dann natürlich nicht mehr, da man ja ohnehin selbst den Druck aus OA heraus initiiert.

Alles unklar?

Lg.
leecher ist offline   Mit Zitat antworten
Alt 02.07.2010, 11:31   #4
Noonien
Registrierter Benutzer
So wollt mich nur nochmal kurz melden. Hat soweit alles super geklappt. Danke für deine Hilfe. Läuft perfekt.
Noonien ist offline   Mit Zitat antworten
Alt 30.12.2010, 10:52   #5
waldbauer.com
Entwickler
Für alle, die so wie ich nun direkt aus dem OA4 den Aufruf für das PDF machen, hier meine Version für Netzwerkbenutzer:

Code:
execute "cmd /C z:\programm\_pcl2pdf.bat c:\oa4\pdf.txt"
Das _pcl2pdf.bat habe ich wie folgt angepaßt:

Code:
@echo off
echo Converting PCL to PDF....
call z:\programm\pclenv.bat
z:\programm\pcl6 -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE#pdfwrite  %PCLOPTS% -sOutputFile#z:\programm\spool.pdf %1
del %1
start z:\programm\spool.pdf
waldbauer.com ist offline   Mit Zitat antworten
Alt 04.08.2011, 14:01   #6
Alfred
Registrierter Benutzer
Vielen Dank für die Möglichkeit PDF aus OA zu erzeugen. Das hat mir echt gefehlt.

Gruß
Alfred
Alfred ist offline   Mit Zitat antworten
Alt 01.08.2012, 11:42   #7
Alfred
Registrierter Benutzer
pclenv.bat

Wie muß ich in der Batch pclenv.bat die Zeile

set PCLFONTSOURCE=%CD:\=/%/urwfonts/

so ändern, das auf ein Verzeichnis wie z.B.

e:\oa4\pdf\urwfonts

verwiesen wird.

Danke

Alfred
Alfred ist offline   Mit Zitat antworten
Alt 01.08.2012, 12:15   #8
leecher
Moderator
%CD gibt das aktuelle Arbeitsverzeichnis an.
Wenn Du einen absoluten Pfad setzen willst, setz ihn einfach (und tausche die \ gegen /), also in Deinem Fall:

set PCLFONTSOURCE=e:/oa4/pdf/urwfonts/

Lg.
leecher ist offline   Mit Zitat antworten
Alt 01.08.2012, 15:06   #9
Alfred
Registrierter Benutzer
Veilen Dank, funktioniert einwandfrei!

Alfred
Alfred ist offline   Mit Zitat antworten
Alt 01.08.2012, 16:24   #10
Alfred
Registrierter Benutzer
Ist es möglich über diesen Weg farbige PDF zu erstellen? Also z.B. negative Beträge rot darzustellen?
Alfred ist offline   Mit Zitat antworten


Antwort schreiben...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Drucken bis zum Absturz oder ins Nirwana morning SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 36 16.06.2009 14:24
Aus OA4 auf einen Netzwerkdrucker drucken Shop SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 0 27.11.2002 16:24