Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Klafu am 13.05.09 - 11:10:53

Titel: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 13.05.09 - 11:10:53
Hallo, ich exportiere ein PDF File auf einen Server und möchte dieses über den Adobe Acrobat 9 drucken.
Alles Über einen "Nach eingang neuer Mail" Agent.
Code ist folgender:

Code
.....
file = fpath + o.Source
       Call o.ExtractFile(fpath + o.Source)
       Set AcroApp = CreateObject("AcroExch.App")
	Set AcroAVDoc = CreateObject("AcroExch.AVDoc")	
	If acroAVDoc.Open(file, "") = True Then
		Set acroPDDoc = acroAVDoc.GetPDDoc()
		nPages = acroPDDoc.GetNumPages()
		acroAVDoc.PrintPages 0, nPages - 1, 0, 1, 1
		acroAVDoc.Close 1
		Set acroAVDoc = Nothing
		Set acroPDDoc = Nothing
	End If
	Call acroApp.Exit
	Set acroApp = Nothing					
Über den Client gestartet funktioniert der Agent super. Ist eben halt auch lokal.
Nach Eingang neuer Mail gestartet speichert er mir das File ab, öffnet dann eine "Speichern Unter" Message Box und öffnet mir anschließend das über die Speichern unter abgelegte PDF File im Acrobat. Das wars.

Hat mir jemand vielleicht einen Hinweis, wo ich nach dem Problem suchen kann ?

Danke
Chris
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Axel am 13.05.09 - 12:08:14
Ist das Programm Acrobat auf dem Server installiert?

Kann auch ein Rechteproblem sein. Server kann nicht auf das entsprechende Verzeichnis zugreifen.


Axel


Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: FriFra am 13.05.09 - 12:09:31
Sind restricted Operations erlaubt? Wirft die Console irgendeinen Fehler aus? Hast Du mal versucht deine an den einzelnen Steps jeweils die relevanten Variablen als Debug-Message auszugeben?
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 13.05.09 - 12:24:20
Acrobat ist auf dem Server Installiert.
Zugriffsrechte hätt ich jetzt mal ausgeschlossen, da das File nur aus einer Mailbox vom Server lokal auf dem selbigen gespeichert wird (was ja mit dem extract klappt). Es wird mir dennoch zusätzlich ein Speichern unter angezeigt um das file ein 2. mal zu speichern.

Beschränkte Optionen sind zugelassen und die Console meldet keinen Fehler.
Debuggen geht ja leider nicht, da der Agent erst "Nach eingang neuer Mail" läuft und wie schon beschrieben, manuell ausgeführt läuft es 1A.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: m3 am 13.05.09 - 12:26:45
Nach Eingang neuer Mail gestartet speichert er mir das File ab, öffnet dann eine "Speichern Unter" Message Box
Und wie stellst Du dir vor, was mit der MessageBox passiert, wenn der Agent auf dem Server läuft?

Und nein, er zeigt dir die MessageBox nicht am Client an.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 13.05.09 - 12:31:21
Die MessageBox wird direkt am Server angezeigt und bleibt so lange stehn, bis eine Auswahl getroffen wurde oder das speichern abgebrochen wird. Solange wird auch der Agent nicht weiter ausgeführt.
Aber Die Messagebox dürft ja eigentlich garnicht kommen. Diese ist ja komplett ungewollt.

Gewollt ist nur das ablegen des Files via Extract und das drucken im Hintergrund über den Acrobat.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: FriFra am 13.05.09 - 12:32:31
Wozu soll der User überhaupt den Pfad wählen können, wenn die Datei am Ende doch nur für einen verdeckt laufenden prozess benötigt wird? Warum liest Du nicht den Tempfad aus und verwendest diesen?
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: FriFra am 13.05.09 - 12:34:39
Die MessageBox wird direkt am Server angezeigt und bleibt so lange stehn, bis eine Auswahl getroffen wurde oder das speichern abgebrochen wird. Solange wird auch der Agent nicht weiter ausgeführt.
Aber Die Messagebox dürft ja eigentlich garnicht kommen. Diese ist ja komplett ungewollt.
Das ist ja wirklich strange... Stammt die Box vom Acrobat? Der Domino hat ja am Server kein UI, deshalb halte ich das für nahezu ausgeschlossen... aber who notes
Der Teil des Codes fehlt ja auch irgendwie  ::)
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: m3 am 13.05.09 - 12:40:15
Die MessageBox wird direkt am Server angezeigt und bleibt so lange stehn, bis eine Auswahl getroffen wurde oder das speichern abgebrochen wird. Solange wird auch der Agent nicht weiter ausgeführt.
Aber Die Messagebox dürft ja eigentlich garnicht kommen. Diese ist ja komplett ungewollt.

Gewollt ist nur das ablegen des Files via Extract und das drucken im Hintergrund über den Acrobat.
Und warum schreibst Du dann in Deinem ersten Posting: "Über den Client gestartet funktioniert der Agent super. ", wenn er eigentlich auch schon nicht funktioniert (Prompt wird angezeigt) ??? ?

IMHO ist das kein Notes-Problem, sondern eine Frage der Acrobat COM-API.

@Michael: Der Prompt kommt IMHO vom Acrobat.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 13.05.09 - 12:44:11
In Meinem Code steht ja kein Prompt....
Meinen ganzen Schnittstellen Code hab ich oben gepostet.
Und wenn ich den Agenten über den Administrator Client starte, dann kommt ja auch kein Prompt und alles wird sauber im Hintergrund durchgeführt (File ablegen und drucken)
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: m3 am 13.05.09 - 12:54:44
1) Fehlerbehandlung fehlt (was passiert, wenn croAVDoc.Open FALSe zurück liefert?) Siehe auch Best Practices: Error Handling in Lotus Script (http://www.atnotes.de/index.php?board=3;action=display;threadid=11980;start=0)
2) Was steht in fpath + o.Source drinnen? Steht in file überhaupt was drinnen?
3) Warum überprüfst Du nicht, ob file nach dem ExtractFile auch existiert?
4) Ist fpath ein lokales Laufwerk?


Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: FriFra am 13.05.09 - 13:09:52
Es gibt hier einen entscheidenden Unterschied, Dein Acrobat Objekt läuft auf dem Systemkonto - vom Client gestartet ist es das Benutzerkonto.

Hast Du mal versucht, den Server auf dem Userkonto zu starten? Wenn es dann funktioniert, ist genau dass das Problem.

Wenn Du den Acrobat wenigstens einmal sichtbar auf dem Systemkonto laufen lässt, werden auch alle relevanten Registry Einträge und diese nervige Lizenzbestätigung für dieses Konto gespeichert. Ein ähnliches Problem hatte ich auch mal mit einer OpenOffice-Anbindung auf dem Server. Nachdem OoO einmalig sichtbar auf dem Systemkonto gelaufen ist und alle Grundeinstellungen gesetzt waren hat das ganze wunderbar verborgen funktioniert.

Die gleiche Problematik gibt es mit Mappings, die laufen auch unter dem Benutzerkonto und sind für das Systemkonto unsichtbar.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 13.05.09 - 14:19:07
1.) Habe nun eins eingebaut. croAVDoc.Open gibt kein False zurück
2.) In fpath + o.Source steht das selbe wie in file: C:\Temp\Ausfuhr_BestaetigungAusgang_8083_7405.pdf
3.) Hatte ich bereits mal drin. Habs nun wieder rein gemacht. File besteht.
4.) Ja, "C:\Temp\"

Ich kann den Acrobat starten wie ich möchte. Auf den Agenten scheint es sich gerade nicht groß auszuwirken.
Ob mit dem Serveradmin oder mit meinem Domänen Benutzer. Selbe Effekt.

Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: FriFra am 13.05.09 - 15:35:38
Nochmal: Hast Du den SERVER mal auf dem Serveradmin Konto laufen lassen? Wenn der Agent die Acrobat Instanz startet, läuft diese im Serverkontext auf dem Systemkonto. Das kannst Du nur testweise verhindern, wenn du den Server mal nicht als Dienst laufen lässt.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Klafu am 14.05.09 - 08:46:02
Danke. Ich werde gucken dass ich es im laufe des Tages testen kann.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Demian am 14.05.09 - 12:25:51
Es wird mir dennoch zusätzlich ein Speichern unter angezeigt um das file ein 2. mal zu speichern.

Mal so ins Blaue getippt: Ist auf dem Server der Standarddrucker vielleicht der Microsoft Image Writer? War jedenfalls bei mir immer so, wenn ich irgendwas mit automatisch Drucken geproggt habe und dann ne Speicher-Unter Box kam.
Titel: Re: PDF Druck Agent wird von Server falsch ausgeführt
Beitrag von: Zimmi am 14.05.09 - 16:02:01
Hallo zusammen,

mich interessiert das Ergebnis besonders, da ich auch an so einer Funktion gebastelt habe, wobei der Druck im UserUI zwar gestartet wurde, aber im Backend laufen sollte. Hab ich im Backend net hinbekommen.  :'(

Naja, das ist ziemlich schwierig eine Frontend-Funktion, wie "Print" ins Backend zu verlagern.  :-:

Ich lasse mich gern belehren ...

Vielen Dankeschön
Zimmi