Druck von Windows Dienst
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 281
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Druck von Windows Dienst
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.
Das Blättern in den PDFs hat mich sofort an die Versandhauskataloge erinnert.
Gruß
Roland
Roland
-
- 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
Hallo RolandRolandG 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...
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
Gruss Carlo
-
- 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
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.
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
- azzo
- 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
Hallo Dominik,
hast du eigentlich den Lösungsvorschlag von Tom mit PowerShell getestet? Das sollte eigentlich funktionieren.
LG
Otto
hast du eigentlich den Lösungsvorschlag von Tom mit PowerShell getestet? Das sollte eigentlich funktionieren.
LG
Otto
-
- 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
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.
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
-
- Rekursionen-Architekt
- Beiträge: 281
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Druck von Windows Dienst
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
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
Roland
- Tom
- 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
Zum Beispiel die Eilerlegendewollmilchsau "List&Label", bei der solche Funktionalitäten quasi Abfallprodukte sind.Für so einen Weg gibt es viele Möglichkeiten, nicht nur Amyuni.
Herzlich,
Tom
Tom
-
- 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
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
Ü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
Gruß Dominik
- Werner_Bayern
- 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
Servus Roland,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...
ja, die Werbung und das Layout sind nicht gerade gut. ABER: Lass Dich davon nicht beeinflussen, es kommt auf die inneren Werte an
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!>
Werner
<when the music is over, turn off the lights!>
- Marcus Herz
- 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
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
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.
Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
- Marcus Herz
- 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
Ich versuch das Script mal zu übersetzen: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):
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.Code: Alles auswählen
$printerName = <DruckerName> $pdfPath = <DateiMitPfad> Start-Process -FilePath $pdfPath -ArgumentList "/t", $pdfPath, $printerName -NoNewWindow -Wait
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.
Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
- Jan
- 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
Hallo Marcus,
seltsam, ich benutze :print(cFilename) öfters. Ohne jedes Problem.
Jan
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Marcus Herz
- 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
Wieder mal blöd gelaufen (muss ich an Manfred denken)
Die Demo Version druckt nur eine beliebige Seite -banghead
Die Demo Version druckt nur eine beliebige Seite -banghead
Gruß Marcus
Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
- Tom
- 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
Das neueste Xbase++-Update enthält ein Asset, mit dem sich PDFs ohne Zusatztools drucken lassen.
Herzlich,
Tom
Tom