AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
18.10.21 - 21:47:22
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  Java bild laden
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Java bild laden  (Gelesen 5238 mal)
xyungel
Frischling
*
Offline Offline

Beiträge: 8



« am: 17.02.10 - 11:34:01 »

Hallo Notes-(Java-)freunde Wink

ich habe ein Problem beim laden von Bildressourcen in Java.
Unter Notes 8.5.1 habe ich unter dem Punkt Ressourcen ein Bild "logo.jpg" hinzugefügt.
Wie kann ich denn diese Datei in meine NotesAgent class laden?

Beim versuch mit

Code:
java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage("Res\\logo.jpg");
com.lowagie.text.Image image2 = com.lowagie.text.Image.getInstance(awtImg, null);

bekomme ich folgende Fehlermeldung in der Javaconsole:

Code:
java.io.IOException: java.awt.Image fetch aborted or errored
at com.lowagie.text.Image.getInstance(Unknown Source)
at com.lowagie.text.Image.getInstance(Unknown Source)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)

Hat jemand von euch eine Idee? Bzw. ist es überhaupt möglich diese Ressourcen zu nutzen?

Vielen Dank schonmal

Stefan
« Letzte Änderung: 17.02.10 - 11:38:15 von xyungel » Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #1 am: 17.02.10 - 15:07:57 »

Wenn du magst, kannst du die jpg testweise irgendwo ins Dateisystem legen und dann mit dem folgenden Code drauf zugreifen:

Code:

String pthImg = "C:/temp/logo.nsf";

java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage(pthImg);
if (awtImg == null) throw new IllegalStateException("Die Datei \"" + pthImg + "\" kann nicht geladen werden. PDF Generierung wird abgebrochen.");
com.lowagie.text.Image image2 = com.lowagie.text.Image.getInstance(awtImg, null);

Gespeichert

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
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #2 am: 17.02.10 - 15:48:05 »

Ich hab das letztens so gelöst, dass ich das Image in einem RT Feld von einem Konfig-Dokument hatte (so ist es vom Anwender änderbar). Das kopiere ich dann als Datei (geht) in das Temp Direktory des Servers. Geht mit System.getProperty(tryGoogle);
Der Agent für PDF-Generierung checkt dann, ob diese Datei vorhanden ist (File.exists()). Wenn false, dann kopier die erstmal rüber. Auf Dateien in tempdir kannst du dann per absoluten Pfad drauf zugreifen.
Gespeichert

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
xyungel
Frischling
*
Offline Offline

Beiträge: 8



« Antworten #3 am: 17.02.10 - 16:55:47 »

Danke für die Antwort.

hab jetzt noch eine Lösung gefunden. Vllt. ja auch für dich hilfreich:

Code:
java.awt.Image awtImg = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("logo.jpg"));

Damit bekommt man den InputStream und kann diesen in ein Bild umwandeln.
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #4 am: 17.02.10 - 22:24:38 »

Gut zu wissen.  Grin Weiß allerdings nicht, ob das mit Notes 7 funktioniert.
Gespeichert

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
xyungel
Frischling
*
Offline Offline

Beiträge: 8



« Antworten #5 am: 18.02.10 - 13:21:57 »

scheint zu funktionieren.

eine andere alternative:

ich lade mir das bild in ein RT-Item im profilDoc
und hole mir dann das embedded object und lese den inputstream ein.

Code:
EmbeddedObject eo = pdoc.getAttachment("logo.jpg");
java.awt.Image awtImg = ImageIO.read(eo.getInputStream());
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #6 am: 18.02.10 - 13:27:03 »

Cool. Allerdings würd ich sowas nie in einem Notes Profil-Dokument sondern in einem "normalen" Dokument speichern, weil die Inhalte von Profil-Dokumenten manchmal seltsam gecached werden. Zumindest haben wir bei solchen Anwendungsfällen schlechte Erfahrungen mit Profil-Dokumenten gemacht.
Gespeichert

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
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: