Domino 9 und frühere Versionen > ND9: Entwicklung

PNG Datei in Notes via XML importieren

(1/2) > >>

Legolas:
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

--- Ende Code ---

it898ur:
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é

Legolas:
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

it898ur:
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é

Thomas Schulte:
in 8.5.3 hatte der Export und Import von PNG über DXL noch erhebliche Macken. Das Dokument ist anschließend kaputt.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln