Autor Thema: Datei im "UI" öffnen  (Gelesen 10354 mal)

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Datei im "UI" öffnen
« am: 22.02.08 - 08:43:56 »
Hallo,

irgendwie kann ich nichts gescheites zu meiner Frage finden :-( (gesucht habe ich).

Wie kann ich eine gerade generierte Datei (PDF) öffnen?
Das entsprechende Programm soll gestartet werden.

Hintergrund:
Ein Agent (manuelle ausgeführt durch User) erstellt ein PDF-Dokument.
Das PDF-Dokument soll direkt geöffnet werden.

Danke.
« Letzte Änderung: 22.02.08 - 13:40:38 von dirk_2909 »
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #1 am: 22.02.08 - 08:53:40 »
Code
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (Byval lpFile As String, Byval lpDirectory As String, Byval lpResult As String) As Long

dim filename$, prog$, taskid%
 
filename = ""
prog$ = Strleft( FindExByFileName(filename) , Chr(0) )
taskid = Shell( prog$ + " " +  filename, SHELL_MAX_FOCUS)

Function FindExByFileName(Byval Datei As String) As String
   Dim Pfad As String
   Pfad = Space$(256)
   FindExecutable Datei, vbNullString, Pfad
   FindExByFileName = Trim(Pfad)
End Function

so?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei im "UI" öffnen
« Antwort #2 am: 22.02.08 - 09:13:52 »
Hi - mit LS habe ich kein Problem.

Ich benötige eine Java-Lösung.

Trotzdem Danke.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datei im "UI" öffnen
« Antwort #3 am: 22.02.08 - 09:24:33 »
Vielleicht ist das was für dich. Das ist ein Java-PDF-Viewer, der sich in eine vorhandene Anwendung integrieren lässt:

Klick mich

Ansonsten könnte man mal die Java-API durchforsten, ob man da was findet, womit man externe Anwendungen starten kann.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #4 am: 22.02.08 - 09:26:49 »
OKey, habe ich so nicht ersehen können.
Wie wäre es mit LS2J oder mit einem LS-Agenten den Java-Agenten aufrufen?
In Java geht das über:
Runtime.getRuntime().exec("programm.exe datei.ext")
Man muss nur wissen wo sich die "programm.exe" befindet.

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei im "UI" öffnen
« Antwort #5 am: 22.02.08 - 09:28:13 »
@Markus

Danke. Aber das ist  ja ein Viewer .
Mir würde ein einfaches Öffnen der Datei genügen ?!

irgendetwas alà "Launch( "c:\\\\temp\\test.pdf" )" oder ....  :-:

Muss wohl die Java-API durchforsten :-( Wollte immer schon mal näher kennenlernen ;-)

Aber vielelicht hat noch einer einen Tipp oder Idee oder eine Zeile Code ?
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datei im "UI" öffnen
« Antwort #6 am: 22.02.08 - 09:30:28 »
Das war mein Vorschlag, weil du dann nicht den richtigen Pfad zum PDF-Reader ermitteln musst. Mir war klar, dass du eigentlich nur ein installiertes Programm öffnen willst.

@bubble: Genau das habe ich eben in der API irgendwie nicht gefunden...  ;D

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei im "UI" öffnen
« Antwort #7 am: 22.02.08 - 09:30:40 »
@bubble (schöner Name ;-) )

Zitat
OKey, habe ich so nicht ersehen können.
Ich dachte das Forum "Java und ..." wäre eindeutig. Sorry  :-\

Zitat
Runtime.getRuntime().exec("programm.exe datei.ext")
Man muss nur wissen wo sich die "programm.exe" befindet.

Danke vorerst. Aber ich weiß nicht immer, wo das Programm liegt. Muss dann wohl ein wenig mehr machen .
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #8 am: 22.02.08 - 09:33:29 »
den Pfad zum Programm kann man doch über LS in die notes.ini oder ein Profil schreiben, was dann der Java-Agent auswertet.
Eine andere Variante ohne JNI wird es nicht geben ;)

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datei im "UI" öffnen
« Antwort #9 am: 22.02.08 - 09:41:53 »
Runtime.getRuntime().exec("programm.exe datei.ext")
Wieso geht das denn nicht aus einem Agenten?
Gibt auch jars, um die Windows-Registry auszulesen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #10 am: 22.02.08 - 09:54:55 »
das stimmt ;)
ist nur die Frage was man mehr macht und kann, Java oder Notes, und dann nähert man sich einer Lösung.

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datei im "UI" öffnen
« Antwort #11 am: 22.02.08 - 09:58:10 »
Hm... Unter Windows reicht doch mit installiertem Betrachter einfach ein Aufruf der betroffenen PDF-Datei. Den Pfad eben dieser solltest du ja zur Verfügung haben. Habe das eben hier mal ausprobiert. Könnte das jetzt gleich nochmal aus Java testen...

EDIT: Aber das funktioniert leider so nicht aus Java heraus.

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #12 am: 22.02.08 - 10:05:07 »
warum nicht eine URL aufrufen? z.B. "files://c:/test.doc" Dabei wird die im BS verknüpfte Anwendung gestartet.
Gruß
Dirk

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei im "UI" öffnen
« Antwort #13 am: 22.02.08 - 10:13:16 »
Zitat
ist nur die Frage was man mehr macht und kann,
Die Antwort ist einfach - im Prinzip -.

Zitat
Java oder Notes,

Auf dem ersten Blick wäre die Antwort: "Notes"

Aber. Kann man die beiden Begriffe trennen? Notes "kann/ist" auch Java ?!
Und ich denke es wird immer wichtiger.

Also kann man sich vor dem Thema "Java" nicht verschließen.

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei im "UI" öffnen
« Antwort #14 am: 22.02.08 - 10:14:23 »
@Dirk
Zitat
warum nicht eine URL aufrufen? z.B. "files://c:/test.doc" Dabei wird die im BS verknüpfte Anwendung gestartet.

Danke.
Teste ich gleich mal.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datei im "UI" öffnen
« Antwort #15 am: 22.02.08 - 10:16:45 »
Per
Code
Runtime.[i]getRuntime()[/i].exec("file://D://skript.pdf");
geht es leider nicht, habe nebenher hier auch noch probiert...

So wie ich die Exception, die geworfen wird, deute, muss man bei "exec" explizit auf eine ausführbare Datei verweisen.

Code
java.io.IOException: Cannot run program "file://D://skript.pdf": CreateProcess error=2, Das System kann die angegebene Datei nicht finden
« Letzte Änderung: 22.02.08 - 10:18:17 von MadMetzger »

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Datei im "UI" öffnen
« Antwort #16 am: 22.02.08 - 10:25:27 »
wenn es ein Win BS ist kannst Du es über die cmd.exe und dann die entsprechenden Parameter mitgeben. Dabei brauchst Du dann auch das "files://" nicht.
Gruß
Dirk

Offline hwenck

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Datei im "UI" öffnen
« Antwort #17 am: 22.02.08 - 10:28:30 »
Ein Beispiel für Ajax und Ping; sollte analog auch für PDF gehen

   public void Ping(String IP, ObjGlob GL) {
      try {
         Vector pv = pingWin(IP, 4, 2000);
         String CDA = "<![CDATA[";
         String CDE = "]]>";
         StringBuffer xml = new StringBuffer();
         xml.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>");
         xml.append("<response>");
         xml.append("<document>");
         xml.append("<docount>" + CDA + pv.size() + CDE + "</docount>");

         for (int i = 0; i < pv.size(); i++) {
            xml.append("<ping" + i + ">" + CDA + (String) pv.get(i) + CDE + "</ping" + i + ">");
         }
         xml.append("</document>");
         xml.append("</response>");
         GL.pw.println("Content-Type: text/xml; charset=\"ISO-8859-1\"");
         GL.pw.println(xml);
      } catch (IOException e) {
         e.printStackTrace();
      } catch (InterruptedException e) {
         e.printStackTrace();
      }

   }

   private static Vector ping(String[] cmd) throws IOException, InterruptedException {
      Process ping = Runtime.getRuntime().exec(cmd);
      BufferedReader input = new BufferedReader(new InputStreamReader(ping.getInputStream(), "Cp850"));
      String line = "";
      Vector v = new Vector();
      while ((line = input.readLine()) != null) {
         if (line.indexOf("Pakete:") >= 0) {
            v.addElement(line + "<br>");
         }
         if (line.indexOf("Minimum") >= 0) {
            v.addElement(line + "<br>");
         }
         if (line.indexOf("Antwort") >= 0) {
            v.addElement(line + "<br>");
         }
         if (line.indexOf("Zeit\u00fcberschreitung") >= 0) {
            v.addElement(line + "<br>");
            System.out.println(line.trim());
         }

      }
      input.close();
      // return ping.waitFor() == 0;
      return (v);
   }

   private static Vector pingWin(String target, int count, long timeout) throws IOException, InterruptedException {
      String[] cmd = {};
      if (timeout == 0) {
         cmd = new String[4];
      } else {
         cmd = new String[6];
         cmd[3] = "-w";
         cmd[4] = Long.toString(timeout);
      }
      cmd[0] = "ping";
      cmd[1] = "-n";
      cmd[2] = Integer.toString(count);
      cmd[cmd.length - 1] = target;
      Vector v = ping(cmd);
      return (v);
   }


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datei im "UI" öffnen
« Antwort #18 am: 22.02.08 - 10:54:51 »
wenn es ein Win BS ist kannst Du es über die cmd.exe und dann die entsprechenden Parameter mitgeben. Dabei brauchst Du dann auch das "files://" nicht.
guter Punkt.

@hwenck: Wo kriegt man dieses ObjGlob her? Ich finds nicht über Google.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline hwenck

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Datei im "UI" öffnen
« Antwort #19 am: 22.02.08 - 11:04:34 »
         Session session = getSession();
         AgentContext agentContext = session.getAgentContext();
         Database db = agentContext.getCurrentDatabase();
         Document doc = agentContext.getDocumentContext();
         String Aktion = doc.getItemValueString("Aktion");
         PrintWriter pw = getAgentOutput();

         DateTime dt = session.createDateTime("Today");
         dt.setNow();
         Vector u = session.evaluate("@Name([CN];@UserName)", doc);
         Name nam = session.createName((String) u.firstElement());
         Document pdoc = db.getProfileDocument("Setup", "");

         String rcd = doc.getItemValueString("Query_String_Decoded");
         Hashtable ht = parseQueryString(rcd);
         String adocID = (String) ht.get("ParentUNID");
         ObjGlob GL = new ObjGlob();
         GL.db = db;
         GL.session = session;
         GL.pw = pw;
         GL.dt = dt;
         GL.doc = doc;
         GL.pdoc = pdoc;
         GL.nam = nam;

.....

package agent.web_tools;
import java.io.PrintWriter;

import lotus.domino.Database;
import lotus.domino.DateTime;
import lotus.domino.Document;
import lotus.domino.Name;
import lotus.domino.Session;

public class ObjGlob {
   public Document doc;
   public Document pdoc;
   public Document adoc;
   public Document SucheDoc;
   public Session session;
   public Database db;
   public PrintWriter pw;
   public DateTime dt;
   public Name nam;
   public String Temp;

   
   
   ObjGlob() {
      doc = null;
      pdoc = null;
      adoc = null;
      SucheDoc = null;
      session = null;
      db = null;
      pw = null;
      dt = null;
      nam = null;
      Temp = "";
   }
}

Sicher nicht toll, aber so mach ich es.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz