Hallo,
wenn ich den Druck in eine Datei umleite....
- muss der Drucker vorab gewählt sein?
- kann ich diese Datei dann nur auf diesem Drucker ausgeben?
- kann ich diese Datei visuell in einem Fenster anzeigen?
Ist das hier richtig oder hätte das unter "Newbie"-Fragen gepostet werden müssen?
Gruß Stefan
Frage zu :SetPrintFile
Moderator: Moderatoren
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Frage zu :SetPrintFile
Ohne Druckertreiber geht nix, wenn keiner gewählt wurde, wird der Standardtreiber verwendet.
Die "Druckerdatei" ist auf die Druckerhardware festgelegt, hier kommt es also darauf an, was für ein Drucker gewählt wurde.
1. Textdruckertreiber erzeugt nur Textausgabe, die ist flexibel sieht aber nicht schön aus.
2. Richtige PCL Drucker, die Datei sollte auf einem anderen richtigen PCL Drucker druckbar sein, garantieren kann ich das aber nicht
3. Richtiger PostScript Drucker, auch diese (PS) Datei sollte auf anderen PostScriptdruckern druckbar sein.
4. Richtiger IBM Proprinter / Epson ESC/P Drucker, ähnliche Modelle sollten verwendbar sein.
5. Windows Drucker mit GDI Schnittstelle, vermutlich sind diese Dateien nur auf dem speziellen Drucker druckbar, aber ich wüßte jetzt nicht wie man das macht ...
6. PDF Druckertreiber oder HBPrintPDF (QuickPDF) ... erzeugen Standard PDF Dateien und können mit Acrobat Reader (etc.) angesehen und auf jedem Drucker gedruckt werden.
Früher war die Idee nicht schlecht, eine lokale Druckkopie zu erstellen und per NET COPY auf z.B. Netzwerkdrucker zu senden ...
Heute ist es schon nicht einfach eine solche Datei an ein Druckerobjekt zu übergeben NET USE LPT ... mit Zuordnung zu einer Netzfreigabe und COPY könnte gehen, aber macht das auch Sinn ?
PDF oder auf neuen Windowsversionen XPS Dokumente (auf meinen Windows 7 Rechner standardmäßig als Druckertreiber installiert)
können alles was du willst und später auch auf anderer Hardware gedruckt werden.
Die "Druckerdatei" ist auf die Druckerhardware festgelegt, hier kommt es also darauf an, was für ein Drucker gewählt wurde.
1. Textdruckertreiber erzeugt nur Textausgabe, die ist flexibel sieht aber nicht schön aus.
2. Richtige PCL Drucker, die Datei sollte auf einem anderen richtigen PCL Drucker druckbar sein, garantieren kann ich das aber nicht
3. Richtiger PostScript Drucker, auch diese (PS) Datei sollte auf anderen PostScriptdruckern druckbar sein.
4. Richtiger IBM Proprinter / Epson ESC/P Drucker, ähnliche Modelle sollten verwendbar sein.
5. Windows Drucker mit GDI Schnittstelle, vermutlich sind diese Dateien nur auf dem speziellen Drucker druckbar, aber ich wüßte jetzt nicht wie man das macht ...
6. PDF Druckertreiber oder HBPrintPDF (QuickPDF) ... erzeugen Standard PDF Dateien und können mit Acrobat Reader (etc.) angesehen und auf jedem Drucker gedruckt werden.
Früher war die Idee nicht schlecht, eine lokale Druckkopie zu erstellen und per NET COPY auf z.B. Netzwerkdrucker zu senden ...
Heute ist es schon nicht einfach eine solche Datei an ein Druckerobjekt zu übergeben NET USE LPT ... mit Zuordnung zu einer Netzfreigabe und COPY könnte gehen, aber macht das auch Sinn ?
PDF oder auf neuen Windowsversionen XPS Dokumente (auf meinen Windows 7 Rechner standardmäßig als Druckertreiber installiert)
können alles was du willst und später auch auf anderer Hardware gedruckt werden.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Frage zu :SetPrintFile
du solltest dir mal die mitgelieferten Beispiele ansehenmini990 hat geschrieben:wenn ich den Druck in eine Datei umleite....
- muss der Drucker vorab gewählt sein?
- kann ich diese Datei dann nur auf diesem Drucker ausgeben?
- kann ich diese Datei visuell in einem Fenster anzeigen?
Code: Alles auswählen
C:\ALASKA\XPPW32\Source\samples\basics\Printer\PrintOut.prg
das (grafische) Drucken, gegenüber ESC Sequenzen, funktioniert unter Xbase++ mit GRA* Funktionen.
das "malen" geschieht dabei in einen "Presentation-Space" welcher mit einem "Device Context" verbunden wird.
wenn du nun, im "Presentation-Space" , dein Bild "gemalt" hast kannst du es durch den Bildschirm, Drucker oder anderen "Device Context" ausgeben.
siehe dazu im Xbase++ Help File unter "Grafische Ausgabegeräte"
mit
Code: Alles auswählen
XbpPrinter():setPrintFile() - Druckausgabe in Datei umleiten.
zum "Debuggen" gibt es noch eine andere Lösung zum Umleiten in eine Datei
Code: Alles auswählen
PROCEDURE MAIN
SET ALTERNATE TO _Debug.TXT
...
// irgendwo im Code zum debuggen
LogFile("hier",x,y,Time(),PROCNAME(1),PROCLINE(1),PROCNAME(2),PROCLINE(2))
//
SET ALTERNATE TO
RETURN
FUNCTION LogFile()
LOCAL iMax := PCount()
LOCAL i
LOCAL cText := ""
LOCAL xValue
FOR i := 1 TO iMax -1
cText += Var2Char( PValue( i ) ) + CHR(9)
NEXT
cText += Var2Char( PValue( iMax ) )
SET CONSOLE OFF
SET ALTER ON
? cText
SET ALTER OFF
SET CONSOLE ON
RETURN
p.s. es gibt natürlich auch noch das "SET PRINTER TO xxx" um nach Cl*pper Art in eine Datei umzuleiten.
gruss by OHR
Jimmy
Jimmy