Page 1 sur 2

[Résolu]Récupérer les images insérées en copier-coller

MessagePublié: 13 Juin 2012 à 16:46
par Scualito
Salut,

Je dois, en Lotus Script, récupérer les images insérées dans le body via copier-coller pour les extraire dans un répertoire.

Le seul problème est que lorsque je regarde, il n'y a pas de $File et quand je fais "if doc.HasEmbedded then"... ca me répond false...

Quelqu'un saurait comme je peux faire pour récupérer ces images ??

D'avance, merci !

Re: Récupérer les images insérées en copier-coller

MessagePublié: 13 Juin 2012 à 16:55
par Michael DELIQUE
salut

tu vois les images comme des fichiers ou elle sont directement visibles ?

Re: Récupérer les images insérées en copier-coller

MessagePublié: 13 Juin 2012 à 16:57
par Scualito
Elles sont visibles (ce sont des copies d'écrans)

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 07:46
par LSong
j'ai eut a travailler avec des image de ce type la

tu peu les voir dans la page web du document
en gros si tu ouvre ton document en web dans le HTML tu peu trouver ton image
du coup tu peu le recuperer

bonne chance cette voie est un peu galère

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 09:14
par Scualito
Salut,

Merci pour ta réponse...

J'avais bien pensé à ce système, mais voici l'url que ça me donne : base.nsf/6a82e1743ff0f82cc1257a1b002e9b55/bc3386fb4476a2a4c1257a10004d724d/BODY/0.84?OpenElement&FieldElemFormat=gif

A partir de cette url, je ne sais pas récupérer le fichier... Comment faire ?

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 10:19
par Michael DELIQUE
sinon,

quand tu parcours tout les fichiers contenu dans ton body regarde s'il sont du type EMBED_OBJECT

regarde le code pour te faire une idée

Code : Tout sélectionner
vrEO =  rtitem.EmbeddedObjects
      If testVariant(vrEO) = True Then
         Forall Attachement In vrEO
            Select Case Attachement.Type
            Case 1454,     EMBED_ATTACHMENT   
            Case 1453,EMBED_OBJECT
            Case 1452, EMBED_OBJECTLINK
            End Select
         End Forall
         vrEO = Null
      End If

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 14:15
par Scualito
Re,

rtitem.EmbeddedObjects est toujours false...

Pourtant, les images s'affichent bien... :(

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 15:21
par Michael DELIQUE
essais ça, mais je suis pas du tout convaincu que ça t'aidera.

Code : Tout sélectionner
Public Function FileOleToPJ(wDoc As notesdocument, Byval wChamp As String,wDirectory As String, Byval wnbDelete As Boolean, Byval wnbSave As Boolean)As Variant

   Dim rtitem As NotesRichTextItem
   Dim lstValue List As String
   Dim i As Integer
   Dim vrEO As Variant
   Dim vrObjet As Variant
   Dim FileName As String
   Dim PathFile As String
   
   On Error Goto CatchError
   
   lstValue(0) = ""
   
   If wDoc Is Nothing Then
      Error 9999,"wDoc is Nothing"
   Else
      If wDoc.HasEmbedded = False Then
         FileOleToPJ = lstValue
         Erase lstValue
         Exit Function
      End If
   End If
   
   If Trim(wChamp) = "" Then
      Error 9999,"wChamp Empty"
      Exit Function
   Else
      Set rtitem = wDoc.GetFirstItem(wChamp)
      If rtitem Is Nothing Then
         Error 9999,"rtitem => ''"+wChamp+"'' is nothing"
         Exit Function
      Else
         If (rtitem.Type <> RICHTEXT) Then
            Error 9999,"'"+wChamp+"'' is not NotesRichTextItem"
            Exit Function
         End If
      End If
   End If
   
   If Trim(wDirectory) = "" Then
      Error 9999,"wDirectory empty"
      Exit Function
   Else
      If Right(Trim(wDirectory),1)<>"\" Then
         wDirectory = Trim(wDirectory)+"\"
      Else
         wDirectory = Trim(wDirectory)
      End If
   End If
   
   If Trim(wChamp) =  "" Then
      vrEO = wDoc.EmbeddedObjects
   Else
      vrEO = rtitem.EmbeddedObjects
   End If
   
   i=0
   If testVariant(vrEO) = True Then
      Forall Attachement In vrEO
         If Attachement.Type = EMBED_OBJECT Then
            
            FileName = "File"+Cstr(i)
            PathFile = wDirectory+FileName
            
            Set vrObjet = Attachement.Activate(False)
            On Error Resume Next
            vrObjet.Application.Windows( vrObjet.Application.Windows.Count).Visible = True
            On Error Goto CatchError
            Call vrObjet.SaveAs(PathFile)
            Call vrObjet.Close
            
            REM 2 maniere différente de sortir
            On Error Resume Next
            Call vrObjet.Quit
            Call vrObjet.Application.Quit
            On Error Goto CatchError
            Set vrObjet= Nothing
            
            If wnbDelete = True Then
               Call Attachement.Remove
            End If
            
            Call rtItem.EmbedObject ( EMBED_ATTACHMENT, "", PathFile)
            Call FileKill (PathFile,False)
            
            lstValue(i) = FileName
            i=i+1
         End If
      End Forall
      vrEO = Null
   End If
   
   Set rtitem = Nothing
   
   If wnbSave = True Then
      Call wDoc.Save(True,False)
   End If
   
   FileOleToPJ = lstValue
   Erase lstValue
   
   Exit Function
CatchError:
   MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
   lstValue(0) = "ERROR"
   FileOleToPJ  = lstValue
   Erase lstValue   
   Exit Function
End Function

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 15:54
par Scualito
Malheureusement, avec wDoc.EmbeddedObjects et rtitem.EmbeddedObjects toujours à False, ce code ne pourra pas marcher non plus...

C'est fou, je cherche partout et peu de gens ont eu ce problème et quand ils en parlent bah... y'a pas vraiment de solutions...

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 16:45
par Michael DELIQUE
tu as regarder du coté d'un export dxl ou autre ?

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 17:18
par Scualito
Ouep, sans succès...

Les images ne sont pas exportées et dans le fichier xml, les images sont transformées en une (très) longue suite alpha-numérique...

Je commence à me décourager... et ça risque de commencer à râler autour de moi... :(

Re: Récupérer les images insérées en copier-coller

MessagePublié: 14 Juin 2012 à 21:38
par Michael DELIQUE
ton image elle pas converti en héxadécimale ?

Re: Récupérer les images insérées en copier-coller

MessagePublié: 15 Juin 2012 à 08:16
par LSong
je ne sais plus comment s'appel ce format dans l'XML mais tu peu recomposer l'image avec faut chercher sur google

Re: Récupérer les images insérées en copier-coller

MessagePublié: 15 Juin 2012 à 09:02
par Maxime Choucroun
J'ai 3 pistes interressantes:
Elles partent du principe de convertir du richText vers du html.


http://searchdomino.techtarget.com/tip/ ... ad=616446&

http://stackoverflow.com/questions/1356 ... otusscript

https://www.martinscott.com/DesignLibra ... endocument


bon courage...

Re: Récupérer les images insérées en copier-coller

MessagePublié: 15 Juin 2012 à 09:19
par Michael DELIQUE