Druck von Windows Dienst

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

RolandG
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 281
Registriert: Mi, 09. Jan 2019 16:02
Wohnort: Neresheim
Danksagung erhalten: 11 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von RolandG »

Richtig - mit Otto warst natürlich nicht Du gemeint sondern der Otto-Versand.
Das Blättern in den PDFs hat mich sofort an die Versandhauskataloge erinnert.
Gruß
Roland
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2558
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 19 Mal
Danksagung erhalten: 86 Mal

Re: Druck von Windows Dienst

Beitrag von ramses »

RolandG hat geschrieben: Di, 08. Okt 2024 8:56 Ich hatte auf den Webseiten und Anpreisungs-PDFs von PC Soft eher den Eindruck dass ich bei einer Art Otto/Quelle/Neckermann für poppige Programmoberflächen gelandet bin.
Das hat mein Interesse weiter in die Sache einzusteigen abrupt auf 0 reduziert... :(
Hallo Roland
das ging mir jahrelang genau auch so. Aus Not, weil ich mit Xbase an vielen stellen einfach nur anstehe bin ich über meinen Schatten gesprungen und habe ich mir WinDev mal wirklich angeschaut UND auch BENUTZT. Es gibt eine kostenlose Express-Version mit denen du erste Schritte machen kannst, am besten die Tutorials abarbeiten ..... Die dürfen solche Werbung machen, es ist nicht übertrieben, in WinDev steckt wirklich was drin !!
Valar Morghulis

Gruss Carlo
Dominik Krebs
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 257
Registriert: Mo, 15. Apr 2019 16:19
Hat sich bedankt: 19 Mal
Danksagung erhalten: 4 Mal

Re: Druck von Windows Dienst

Beitrag von Dominik Krebs »

Ich habe eine Lösung für mein Problem gefunden.

Ich habe tatsächlich gar nicht mehr an den Amyuni PDF Converter gedacht. Hier kann man über DLL Aufrufe auf die cdintf.dll ein vorhandenes Dokument (PDF,JPG,PNG...) öffnen und auch auf einem Wunschdrucker ausgeben.

Tatsächlich ist es auch gar nicht viel Quelltext. Für alle die es interessiert, stelle ich hier meinen Quellcode zur Verfügung.

Code: Alles auswählen

PROCEDURE DocToPrinter(cFilePDF,cPrinterName)
LOCAL nHandle
LOCAL nDocHandle     := 0
LOCAL nPageCount     := 0
         nHandle := DllLoad("cdintf.dll")
         DllCall(nHandle,DLL_STDCALL,"SetLicenseKeyA",P_AMYUNI_LICENCE_NAME,P_AMYUNI_ACTIVATION)
         DllCall(nHandle,DLL_STDCALL,"DocOpen",@nDocHandle,cFilePDF)
         DllCall(nHandle,DLL_STDCALL,"DocGetPageCount",nDocHandle,@nPageCount)
         DllCall(nHandle,DLL_STDCALL,"DocPrint",nDocHandle,cPrinterName,1,nPageCount,1)
         DllCall(nHandle,DLL_STDCALL,"DocClose",nDocHandle)
         DllUnload( nHandle )
RETURN

Gruß Dominik
Benutzeravatar
azzo
1000 working lines a day
1000 working lines a day
Beiträge: 742
Registriert: So, 28. Mär 2010 19:21
Hat sich bedankt: 7 Mal
Danksagung erhalten: 22 Mal

Re: Druck von Windows Dienst

Beitrag von azzo »

Hallo Dominik,
hast du eigentlich den Lösungsvorschlag von Tom mit PowerShell getestet? Das sollte eigentlich funktionieren.
LG
Otto
Dominik Krebs
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 257
Registriert: Mo, 15. Apr 2019 16:19
Hat sich bedankt: 19 Mal
Danksagung erhalten: 4 Mal

Re: Druck von Windows Dienst

Beitrag von Dominik Krebs »

Hallo Otto,
ja ich habe es probiert. Auf dem Dienst hat es leider nicht geklappt. Ich muss aber auch gestehen, dass ich mich erstmal nicht reingehängt habe, da ich einen DLL Aufruf gesucht habe. Hätte ich diesen jetzt nicht gefunden, hätte ich alle Optionen nochmal ausgiebig getestet.
Gruß Dominik
RolandG
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 281
Registriert: Mi, 09. Jan 2019 16:02
Wohnort: Neresheim
Danksagung erhalten: 11 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von RolandG »

Hallo Dominik,
schön dass Du eine Lösung gefunden hast.
Wenn Du das unabhängig einsetzen willst müssen die Lizenzen auch für Amyuni PDF bezahlt werden.
Für so einen Weg gibt es viele Möglichkeiten, nicht nur Amyuni.
Gruß
Roland
Gruß
Roland
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9737
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 126 Mal
Danksagung erhalten: 438 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Tom »

Für so einen Weg gibt es viele Möglichkeiten, nicht nur Amyuni.
Zum Beispiel die Eilerlegendewollmilchsau "List&Label", bei der solche Funktionalitäten quasi Abfallprodukte sind.
Herzlich,
Tom
Dominik Krebs
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 257
Registriert: Mo, 15. Apr 2019 16:19
Hat sich bedankt: 19 Mal
Danksagung erhalten: 4 Mal

Re: Druck von Windows Dienst

Beitrag von Dominik Krebs »

Die Lizenzen müssen natürlich vorhanden sein, was bei mir glücklicherweise aber der Fall ist.

Über List&Label denke ich schon eine ganze weile nach, ich habe ja durchaus nur Positives gehört.
Ich habe tatsächlich nur ein wenig Angst vor der Arbeit, was die Umstellung auf L&L betrifft brushteeth
Gruß Dominik
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2187
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 34 Mal
Danksagung erhalten: 83 Mal

Re: Druck von Windows Dienst

Beitrag von Werner_Bayern »

RolandG hat geschrieben: Di, 08. Okt 2024 8:56 Hi
nachdem von windev in den höchsten Tönen geschwärmt wird habe ich mir die "Werbung" für die "eierlegende Wollmilchsau" mal angeschaut.
Ich hatte auf den Webseiten und Anpreisungs-PDFs von PC Soft eher den Eindruck dass ich bei einer Art Otto/Quelle/Neckermann für poppige Programmoberflächen gelandet bin.
Das hat mein Interesse weiter in die Sache einzusteigen abrupt auf 0 reduziert... :(
Servus Roland,

ja, die Werbung und das Layout sind nicht gerade gut. ABER: Lass Dich davon nicht beeinflussen, es kommt auf die inneren Werte an :wink:
Nein, im Ernst: Vergleich einfach ganz objektiv den Funktionsumfang und die Möglichkeiten. Lade Dir die kostenlose Express-Version runter und arbeite das Tutorial durch. Dann urteile!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 963
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 47 Mal
Danksagung erhalten: 233 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Marcus Herz »

Ich teste auch gerade Edgars xbpPdf Klasse.
Aber ein :print(<cfile>) druckt bei mir nur immer eine Seite, irgdeneine.
Selbst wenn ich bewusst :print(<cfile>,1,4) angebe, kommt irgeneine Seite, muss nicht mal in dem Range liegen?
Hab verschiedene PDFs (z.B. Dokumentationen) probiert, daran kanns jetzt auch nicht liegen.
Kennt jemand das Problem?
- aktuellese Xbase
- xpppdf61.dll vom 6.6.24
Gruß Marcus

Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 963
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 47 Mal
Danksagung erhalten: 233 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Marcus Herz »

Tom hat geschrieben: Di, 01. Okt 2024 10:41 Hallo, Dominik.

Wenn die Drucker "Direct PDF" unterstützen, kann man PDF-Dokumente direkt an diese Drucker senden. Sonst braucht man ein 3rd-Party-Dings.

Oder man macht es via Powershell, aber das habe ich aus einem Dienst heraus noch nie probiert (und ich würde auch eher bezweifeln, dass ein Dienst das kann):

Code: Alles auswählen

$printerName = <DruckerName>
$pdfPath = <DateiMitPfad>
Start-Process -FilePath $pdfPath -ArgumentList "/t", $pdfPath, $printerName -NoNewWindow -Wait
Edit: Windows-Dienste können - mit den richtigen Rechten ausgestattet - tatsächlich PS-Scripte ausführen lassen. Man muss aber beachten, dass der Dienst auch einen anderen Kontext hat. Er kennt u.U. nicht alle Drucker; das muss man entsprechend sicherstellen.
Ich versuch das Script mal zu übersetzen:
die mit der Endung (PDF) verknüpfte Anwendung wird geöffnet und die Parameter /t <dateiname> <druckername> übergeben. Genauso wie mit Runshell.
Adobe (in der kostenlosen Version) unterstützt den /t Parameter nicht mehr, Foxit Reader schon noch. andere PDF Viewer haben andere Parameterleisten (z.B. PDF24)

Manchmal kann man an den einfachsten Problemen scheitern:
Ich möchte eine existierende PDF drucken. (Dem Kunden ist dafür List&Label zu teuer). Selbst mein HP Drucker unterstützt kein
copy <file.pdf> <sharedrucker>
also auch keine Lösung. (Was weiß ich was die Kunden des Kunden für Drucker haben)
Gruß Marcus

Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14846
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 31 Mal
Danksagung erhalten: 111 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Jan »

Hallo Marcus,

seltsam, ich benutze :print(cFilename) öfters. Ohne jedes Problem.
oDrucker := XbpPrinter():new()
oDrucker:create() // Ohne Druckername: Standarddrucker nehmen

oPrintPdf := XbpPDF():New(MEMVAR->gcXbpGraPdfLizenz) // Das PDF-Objekt erstellen
oPrintPdf:Create("dummy", oDrucker)
oPrintPdf:print(cPdfName)
oPrintPdf:destroy()
oPrintPdf := NIL

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 963
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 47 Mal
Danksagung erhalten: 233 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Marcus Herz »

Wieder mal blöd gelaufen (muss ich an Manfred denken)
Die Demo Version druckt nur eine beliebige Seite -banghead
Gruß Marcus

Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9737
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 126 Mal
Danksagung erhalten: 438 Mal
Kontaktdaten:

Re: Druck von Windows Dienst

Beitrag von Tom »

Das neueste Xbase++-Update enthält ein Asset, mit dem sich PDFs ohne Zusatztools drucken lassen.
Herzlich,
Tom
Antworten

Zurück zu „Drucken und Export“