Autor Thema: PNG Datei in Notes via XML importieren  (Gelesen 3139 mal)

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
PNG Datei in Notes via XML importieren
« am: 02.10.15 - 09:01:27 »
Hallo Forum,

ich habe ein Problem, bei dem ich nicht so recht weiterkomme.

Ich importiere via XML Bilddateien (GIF, JPG) in die Notes Bildressource um diesen in der Anwendung anzuzeigen.
Grund hierfür ist, dass ein Kunde seine eigenen Bildressourcen für eine Anwendung verwenden kann.

Das funktioniert soweit auch ganz gut.

Nur muss ich nun auch PNG Bilddateien importieren. Hier funktioniert das Ganze aber nicht mehr.
Es wird zwar ein Eintrag in der Bildressource gemacht, jedoch wird diese nicht als PNG Datei erkannt.
Importiere ich die Datei zum Test direkt im Designer, wird diese ordentlich angezeigt.

Und nun die Fragen:
1) Kann man überhaupt PNG Dateien in Notes via XML importieren? (Ich gehe mal davon aus!)
2) Wo ist der Unterschied dann zu GIF und JPG?


Notes/Domino 9.0.1 deutsch unter Windows

Hier noch den Code den ich verwende.
In der Funktion EncodeFile() wird nach Base64 encoded.

Grüße
Bernd

Code
Function C_Picture_Import_Engine(imageFile As String) As integer
	On Error GoTo errhandler

	Dim ses As New NotesSession
	Dim head As String
	Dim imgData As Variant
	Dim imageName As String
	Dim imageType As String
	Dim filename As String
	Dim foot As String
	Dim stream As NotesStream
	Dim importer As NotesDXLImporter
	
	C_Picture_Import_Engine = False

	imageName = StrRightBack(imageFile, "\")
	imageType = StrRightBack(imageFile, ".")
	
	'write header
	head = |<?xml version='1.0' encoding='utf-8'?>|&_
	|<!DOCTYPE imageresource SYSTEM '| & ses.Getenvironmentstring("NotesProgram", True) & |xmlschemas/domino_8_5_2.dtd'>|&_
	|<imageresource name='| & imageName & |' xmlns='http://www.lotus.com/dxl' version='8.5'|&_
	| maintenanceversion='2.0' replicaid='052570D600117507' publicaccess='false'|&_
	| designerversion='8.5.2'>|&_
	|<| & imageType & |>|
	
	imgData = FreeFile
	Open imageFile & ".xml" For Output As imgData	
	Print #imgData, head
	Close #imgData
	
	'append encoded image data
	Call EncodeFile(imageFile, imageFile & ".xml")
	
	'append footer
	foot = |</| & imageType & |></imageresource>|
	imgData = FreeFile
	Open imageFile & ".xml" For Append As imgData
	Print #imgData, foot
	Close #imgData
	
	' Open the newly created dxl file
	Set stream = ses.CreateStream
	filename = imageFile & ".xml"
	If Not stream.Open(filename) Then
		MsgBox "Cannot open " & filename, 16, "Error"
		Exit Function
	End If
	If stream.Bytes = 0 Then
		MsgBox "setup_picture_no_file_exist", 16, filename
		Exit Function
	End If
	
	' Import the DXL in "create" mode - replaces existing images
	Set importer = ses.CreateDXLImporter
	Call importer.SetInput(stream)
	Call importer.SetOutput(CONNECTDatabase)
	importer.ReplaceDBProperties = True	
	importer.ReplicaRequiredForReplaceOrUpdate = False
	importer.DesignImportOption = DXLIMPORTOPTION_REPLACE_ELSE_CREATE
	Call importer.Process
	Call stream.Close
	
	'temp File wieder löschen
	Kill imageFile & ".xml"
 Exit Function
 
 errhandler:
  if Not importer is Nothing then
		Call MsgBox("E", 3, "Error in library ... - function: C_Picture_Import_Engine() - Error: " & Error & " (" & Err &  ") in line: " & Erl & Chr$(10) & "Importer: " & importer.log, "")
	else
		Call MsgBox("E", 3, "Error in library ... - function: C_Picture_Import_Engine() - Error: " & Error & " (" & Err &  ") in line: " & Erl, "")
	End If
Exit Function
Arbeite klug, nicht hart.

Offline it898ur

  • Senior Mitglied
  • ****
  • Beiträge: 478
Re: PNG Datei in Notes via XML importieren
« Antwort #1 am: 02.10.15 - 09:07:06 »
Hallo,

wenn mich nicht alles täuscht unterstützt Notes 8 keine png-Dateien als Bildressourcen, d. h. die Notes 8 DTD-Datei, die hier für den Import verwendet werden soll, kann mit diesem Typ nichts anfangen.

Gruß

André

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: PNG Datei in Notes via XML importieren
« Antwort #2 am: 02.10.15 - 09:24:58 »
Hallo Andre,

das ist nicht ganz korrekt. Ab der Version 8.5 untersützt Notes PNG Dateien.
Notes 8.5.x clients support PNG images ->http://www-01.ibm.com/support/docview.wss?uid=swg21368274

Gruß
Bernd
Arbeite klug, nicht hart.

Offline it898ur

  • Senior Mitglied
  • ****
  • Beiträge: 478
Re: PNG Datei in Notes via XML importieren
« Antwort #3 am: 02.10.15 - 11:19:55 »
Hallo Bernd,

in der Liste steht aber nix von Bildressourcen und mein 8.5.3 Designer-Client lässt beim manuellen Importieren auch nur GIF, JPG und BMP zu.

Gruß

André

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: PNG Datei in Notes via XML importieren
« Antwort #4 am: 02.10.15 - 12:06:55 »
in 8.5.3 hatte der Export und Import von PNG über DXL noch erhebliche Macken. Das Dokument ist anschließend kaputt.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: PNG Datei in Notes via XML importieren
« Antwort #5 am: 02.10.15 - 13:25:45 »
Hallo Zusammen,

habe es eben nochmals mit dem ".../docmino_9_0_1.dtd" Schema versucht.
Ändert aber auch nichts am Problem.

Gibt es vielleicht noch eine andere Möglichkeit, Bilder per script in die Bildressource einer Anwendung zu importieren?
Noch eine Anmerkung : Das Design der Anwendung ist geschlossen. Workaround über den Designer oder so ist also nicht möglich.


Grüße
Bernd
Arbeite klug, nicht hart.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: PNG Datei in Notes via XML importieren
« Antwort #6 am: 02.10.15 - 16:07:17 »
habe es eben nochmals mit dem ".../docmino_9_0_1.dtd" Schema versucht.
Ändert aber auch nichts am Problem.

Das liegt nicht am dtd, das liegt an der Version.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz