Drucken mit HBPrinter - Was geht wie warum ???

Moderator: Moderatoren

Wer kennt, nutzt oder verabscheut HBPrinterX ?

Ich nutze HBPrinterX ausschließlich
6
14%
Ich nutze HBPrinterX gelegentlich bzw. zusätzlich
10
24%
HBPrinterX habe ich früher mal genutzt
1
2%
geprüft, aber für mich ungeeignet
1
2%
der Schrott gehört verboten
0
Keine Stimmen
In nutze grundsätzlich keine Fremdprodukte
0
Keine Stimmen
Noch nie gehört oder kein Interesse
2
5%
Ich nutze Reportgeneratoren oder ähnliches
11
26%
Ich nehme XbpPrinter() pur
11
26%
 
Insgesamt abgegebene Stimmen: 42

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Koverhage »

Beispiel ?
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von brandelh »

es reicht, wenn man die Methode der XbpPrinter() ... oder PS() ... Klasse nutzt, so wie ich es auch weitergebe:

oHBP:setPrintFile( "TEST-BOLD - Probeausdruck PrintToFile.PDF" ) // EXE Verzeichnis in meinem Beispiel
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von brandelh »

Ich habe es grad mal mit der 1.90.355 getestet, funktioniert auch.
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Koverhage »

Ich bzw. der Anwender hat die Vorschau und wählt dann den Drucker "Microsoft Print to PDF" aus.
Da kann ich dann die Ausgabedatei nicht mehr auswählen oder täusche ich mich da ?
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von brandelh »

Du kannst den Dateinamen vor Startdoc() füttern.
Welche Druckerauswahl nutzt du denn, meine oder die von Xbase++ ?
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Koverhage »

Die von Express++
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von brandelh »

OK, dann musst du sehen ob du dem Druckerobjekt zwischen Create() und StartDoc() noch den Namen mit setPrintFile() einfügen kannst.
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Koverhage »

Werde mal am Mittwoch testen, da muss ich wieder PDF Dateien mit Microsoft Print to PDF erstellen.
Gruß
Klaus
Dieter
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 237
Registriert: Do, 14. Aug 2008 14:59
Wohnort: Straelen
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Dieter »

Hallo zusammen,

ich benutze Huberts Drucker- und PDF-Klasse schon seit einigen Jahren. Vielen Dank an Hubert --- wirklich großartige Software! =D>
Sowohl die PDF-Anzeige, als auch den PDF-Druck der über Huberts Druckerklasse erzeugt wird, zeige ich immer erst mit dem extrem schlanken Sumatra-PDF-Reader an. Man kann aber auch sofort auf den Standarddrucker drucken oder einen Drucker auswählen. Sumatra ist Open-Source und somit lizenzkostenfrei installierbar. Da Sumatra keinen eigenen PDF-Drucker-Treiber beinhaltet, habe ich mir einen eigenen Ghostscript-Druckertreiber (ebenfalls Open Source) zusammengebaut, der grundsätzlich die Druckdatei in einem festgelegten temp-Verzeichnis mit dem User-Namen ablegt (username.pdf). Somit ist auch auf Servern sichergestellt, dass die Druckjobs der unterschiedlichen User sich nicht in die Quere kommen. Somit gibt es auch auf Terminalservern keinerlei Lizenzprobleme mit PDF-Reader-Software, die in der Regel nur für Privatnutzung kostenfrei ist.
Wenn der Anwender im Menu den PDF-Druck als Standdard ausgewählt hat, dann kommt der Ghostscript-Drucker zum Einsatz (siehe im nachfolgenden Code -> Variable cPDF_Drucker).

Code: Alles auswählen

	IF oMenu:isAuswahl
		*******       Huberts Printdialog ******************************
		oListe:PrintingDialog( .t. ,;   // ESC -> close
		       .t. ,;               // ALT+Enter and Enter will Print
		       xbeK_ALT_P)          // ALT+P will print
		oListe:create()
		****************************************************************
	ELSEIF oMenu:isPDF
		oListe:create(cPDF_Drucker)	// Ghostscript-Drucker
	ELSE
		 oListe:create()    // Standarddrucker
	ENDIF 
Sumatra kommt dann wie folgt ins Spiel:

Code: Alles auswählen

	// der Druck landet im PDF-Austauschverzeichnis von Ghostscript und muss noch von Sumatra angezeigt werden
	cDatei =cPDF_Austausch+"\"+cUser+".PDF"
	IF !lIsDir(cAustausch)    // OT4xb
		lMakePath(cAustausch)  // OT4xb
	ENDIF
	cPDFneu=cAustausch+"\"+cDruckname+".PDF"
	IF FILE(cDatei)
		DO WHILE nSize1<nSize2 .OR. nSize1==0
			nSize1= FSIZE(cDatei)
			SLEEP(50)
			nSize2= FSIZE(cDatei)
		ENDDO
		SLEEP(10)
		Copy FILE (cDatei) TO (cPDFneu)
	ENDIF
	cAcrobat := GetStandardProgramm(cDruckname+".PDF", cAustausch)
      	runshell(cPDFneu,cAcrobat,.t.) 
 
Wenn Interesse besteht, wie man selbst einen Ghostscript-Drucker installiert, der die Druckdatei cPDF_Austausch+"\"+cUser+".PDF" erzeugt, dann kann ich bei Gelegenheit diese Informationen hier in das Forum einstellen.
Viele Grüße

Dieter

Was man nicht versteht, besitzt man nicht.
Benutzeravatar
Schorsch
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 45
Registriert: So, 21. Sep 2008 19:21
Wohnort: Sinsheim im Kraichgau

Re: Drucken mit HBPrinter - Was geht wie warum ???

Beitrag von Schorsch »

Hallo Hubert,
vielen Dank für die Hinweise. Ich habe in meinem Fall deinen Vorschlag mit der Zwischenablage gelöst.
Gruß
Schorsch
Antworten