En tout cas, pour le contrat d'assurance, je l'ai reçu par mail et je l'ai renvoyé par courrier (pas eu le choix !)
Concernant un "édit" avec texte et image, il y a deux solutions, soit en HTML avec _IECreateEmbedded(), soit en RTF avec _GUICtrlRichEdit_Create()
Je vous propose en RTF, vous créez un fichier avec texte et image avec WordPad et vous modifiez le chemin
$rtf = FileRead(@ScriptDir & "\RTF\aa.rtf")
Idem pour les chemins des images (en BMP)
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
$rtf = FileRead(@ScriptDir & "\RTF\aa.rtf") ;Modifier le chemin
Local $hGui, $iMsg, $idBtnExit, $hRichEdit
$hGui = GUICreate("Example (" & StringTrimRight(@ScriptName, StringLen(".exe")) & ")", 520, 550, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "", 10, 10, 500, 490, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$idBtnExit = GUICtrlCreateButton("Exit", 10, 510, 40, 30)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_SetBkColor ($hRichEdit,Dec('D8F8F8'))
_GUICtrlRichEdit_InsertText($hRichEdit, "Inserting image..." & @LF & @LF)
_GUICtrlRichEdit_AppendText($hRichEdit, $rtf)
_GUICtrlRichEdit_SetParaAlignment($hRichEdit, "c")
$bmp = ReadBmpToRtf(@ScriptDir & "\Image4RTF.bmp") ;Modifier le chemin
_GUICtrlRichEdit_AppendText($hRichEdit, $bmp)
_GUICtrlRichEdit_AppendText($hRichEdit, @CRLF)
$pic = lireRTF()
_GUICtrlRichEdit_AppendText($hRichEdit, $pic)
_GUICtrlRichEdit_AppendText($hRichEdit, @CRLF)
$bmp = ReadBmpToRtf(@ScriptDir & "\aa.bmp") ;Modifier le chemin
_GUICtrlRichEdit_AppendText($hRichEdit, $bmp)
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idBtnExit
_GUICtrlRichEdit_Deselect ( $hRichEdit)
_GUICtrlRichEdit_StreamToFile($hRichEdit, @DesktopDir & "\gcre.rtf")
_GUICtrlRichEdit_Destroy($hRichEdit) ; needed unless script crashes
GUIDelete()
Exit
EndSwitch
WEnd
Func ReadBmpToRtf($sBmpFilspc)
Local $hFile, $sRtf
$hFile = FileOpen($sBmpFilspc, 16)
If FileRead($hFile, 2) <> "0x424D" Then Return SetError(1, 0, "")
FileRead($hFile, 12)
$sRtf = '{\rtf1{\pict\dibitmap ' & Hex(FileRead($hFile)) & '}}'
FileClose($hFile)
Return $sRtf
EndFunc ;==>ReadBmpToRtf
Func lireRTF()
$val ="{\rtf1\ansi\deff0\adeflang1025"
$val &="{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\fnil\fprq2\fcharset0 SimSun;}{\f4\fswiss\fprq2\fcharset128 Arial;}{\f5\froman\fprq2\fcharset128 Times New Roman;}{\f6\froman\fprq2\fcharset0 Times New Roman;}{\f7\fnil\fprq2\fcharset0 SimSun;}{\f8\fnil\fprq2\fcharset0 Tahoma;}{\f9\fnil\fprq0\fcharset0 Tahoma;}}"
$val &="{\colortbl;\red0\green0\blue0;\red255\green255\blue0;\red228\green228\blue228;}"
$val &=""
$val &=""
$val &="\trowd\trqc\trpaddft3\trpaddt0\trpaddfl3\trpaddl10\trpaddfb3\trpaddb0\trpaddfr3\trpaddr10"
$val &="\clbrdrt\brdrs\brdrw10\brdrcf15\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\clcbpat3\cellx2000"
$val &="\clbrdrt\brdrs\brdrw10\brdrcf15\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\clcbpat2\cellx5521"
$val &="\clbrdrt\brdrs\brdrw10\brdrcf15\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\clbrdrr\brdrs\brdrw10\brdrcf15\clcbpat2\cellx7600"
$val &="\pard\intbl\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af3\afs24\ltrch\dbch\af3\f3\fs24\loch\f3\fs24 {\rtlch \ltrch\loch\f3\fs24\i0\b0 AABB}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af3\afs24\ltrch\dbch\af3\f3\fs24\loch\f3\fs24 {\rtlch \ltrch\loch\f3\fs24\i0\b0 AABB}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af3\afs24\ltrch\dbch\af3\f3\fs24\loch\f3\fs24 {\rtlch \ltrch\loch\f3\fs24\i0\b0 AABB}"
$val &=""
$val &="\cell\row\pard \trowd\trqc\trpaddft3\trpaddt0\trpaddfl3\trpaddl10"
$val &="\trpaddfb3\trpaddb0\trpaddfr3\trpaddr10\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\cellx2000"
$val &="\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\cellx5521"
$val &="\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\clbrdrr\brdrs\brdrw10\brdrcf15\cellx7600"
$val &="\pard\intbl\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af0\afs24\ltrch\dbch\af0\f0\fs24\loch\f0\fs24 {\rtlch \ltrch\loch\f0\fs24\i0\b0 BBBB}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af5\afs24\ltrch\dbch\af5\f5\fs24\loch\f5\fs24 {\rtlch \ltrch\loch\f5\fs24\i0\b0 BBBB}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af5\afs24\ltrch\dbch\af5\f5\fs24\loch\f5\fs24 {\rtlch \ltrch\loch\f5\fs24\i0\b0 BBBB}"
$val &=""
$val &="\cell\row\pard \trowd\trqc\trpaddft3\trpaddt0\trpaddfl3\trpaddl10\trpaddfb3\trpaddb0\trpaddfr3\trpaddr10"
$val &="\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\cellx2000"
$val &="\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\cellx5521"
$val &="\clbrdrl\brdrs\brdrw10\brdrcf15\clbrdrb\brdrs\brdrw10\brdrcf15\clbrdrr\brdrs\brdrw10\brdrcf15\cellx7600"
$val &="\pard\intbl\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af4\afs24\ab\ltrch\dbch\af4\f4\fs24\b\loch\f4\fs24\b {\rtlch \ltrch\loch\f4\fs24\i0\b CCCC}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af4\afs24\ab\ltrch\dbch\af4\f4\fs24\b\loch\f4\fs24\b {\rtlch \ltrch\loch\f4\fs24\i0\b CCCC}"
$val &="\cell\pard\plain \intbl\ltrpar\s1\cf0\rtlch\af4\afs24\ab\ltrch\dbch\af4\f4\fs24\b\loch\f4\fs24\b {\rtlch \ltrch\loch\f4\fs24\i0\b CCCC}"
$val &="\cell\row\pard \pard\plain \ltrpar\s1\cf0\rtlch\af3\afs24\ltrch\dbch\af3\f3\fs24\loch\f3\fs24"
$val &="\par }"
Return $val
EndFunc
La fonction lireRTF() est réalisée avec ce code (WriteRtf.au3 peut être en include)
Code : Tout sélectionner
$i = 0
$file = FileOpen("WriteRtf.au3",8 + 2)
FileWriteLine($file,"Func lireRTF()")
While 1
$i += 1
$line = FileReadLine(@ScriptDir & "\RTF\ff.rtf",$i) ;chemin à modifier
If @error = -1 Then ExitLoop
If $i = 1 Then
FileWriteLine($file,'$val ="' & $line&'"')
Else
FileWriteLine($file,'$val &="' & $line&'"')
EndIf
WEnd
FileWriteLine($file,"Return $val" )
FileWriteLine($file,"EndFunc")
FileClose($file)
Cela vous donne les différentes possibilités.
Le code ci-dessous vient d'UEZ du forum US (autres possibilités

)
Code : Tout sélectionner
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
Local $hGui, $iMsg, $idBtnExit, $hRichEdit
$hGui = GUICreate("Example (" & StringTrimRight(@ScriptName, StringLen(".exe")) & ")", 520, 550, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "This is a test.", 10, 10, 500, 490, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$idBtnExit = GUICtrlCreateButton("Exit", 10, 510, 40, 30)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_InsertText($hRichEdit, "Inserting image..." & @LF & @LF)
_GUICtrlRichEdit_InsertText($hRichEdit, @LF & "JPG image scaled:" & @LF & @LF)
_GUICtrlRichEdit_InsertBitmap($hRichEdit, "c:\Program Files\AutoIt3\Examples\GUI\mslogo.jpg", "\qc", "\picw6747\pich1058\picwgoal6690\pichgoal1860\") ;\qc = centered
_GUICtrlRichEdit_InsertText($hRichEdit, @LF & @LF & "PNG image:" & @LF & @LF)
_GUICtrlRichEdit_InsertBitmap($hRichEdit, "c:\Program Files\AutoIt3\Examples\GUI\Torus.png")
_GUICtrlRichEdit_InsertText($hRichEdit, @LF & @LF & "Done.")
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idBtnExit
_GUICtrlRichEdit_Destroy($hRichEdit) ; needed unless script crashes
GUIDelete()
Exit
EndSwitch
WEnd
EndFunc ;==>Example
Func _GUICtrlRichEdit_InsertBitmap($hWnd, $sFile, $sFormatFunctions = "\", $sBitmapFunctions = "\", $iBgColor = Default) ;coded by UEZ build 2016-02-16
If Not FileExists($sFile) Then Return SetError(0, 0, 1)
If Not _WinAPI_IsClassName($hWnd, $__g_sRTFClassName) Then Return SetError(0, 0, 2)
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($sFile)
If @error Then
_GDIPlus_Shutdown()
Return SetError(0, 0, 3)
EndIf
Local Const $aDim = _GDIPlus_ImageGetDimension($hImage)
Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($aDim[0], $aDim[1]), $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
If $iBgColor = Default Then
$iBgColor = 0xFF000000 + _WinAPI_SwitchColor(_GUICtrlRichEdit_GetBkColor($hWnd))
EndIf
_GDIPlus_GraphicsClear($hGfx, $iBgColor)
_GDIPlus_GraphicsDrawImageRect($hGfx, $hImage, 0, 0, $aDim[0], $aDim[1])
_GDIPlus_GraphicsDispose($hGfx)
Local $binStream = _GDIPlus_StreamImage2BinaryString($hBitmap, "BMP")
If @error Then
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageDispose($hBitmap)
_GDIPlus_Shutdown()
Return SetError(0, 0, 4)
EndIf
Local $binBmp = StringMid($binStream, 31)
Local Const $binRtf = "{\rtf1\viewkind4" & $sFormatFunctions & " {\pict{\*\picprop}" & $sBitmapFunctions & "dibitmap " & $binBmp & "}\par}" ;check out http://www.biblioscape.com/rtf15_spec.htm
_GUICtrlRichEdit_AppendText($hWnd, $binRtf)
$binStream = 0
$binBmp = 0
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageDispose($hBitmap)
_GDIPlus_Shutdown()
Return 1
EndFunc ;==>_GUICtrlRichEdit_InsertBitmap
Func _GDIPlus_StreamImage2BinaryString($hBitmap, $sFormat = "JPG", $iQuality = 80, $bSave = False, $sFileName = @ScriptDir & "\Converted.jpg") ;coded by UEZ 2013 build 2014-01-25 (based on the code by Andreik)
Local $sImgCLSID, $tGUID, $tParams, $tData
Switch $sFormat
Case "JPG"
$sImgCLSID = _GDIPlus_EncodersGetCLSID($sFormat)
$tGUID = _WinAPI_GUIDFromString($sImgCLSID)
$tData = DllStructCreate("int Quality")
DllStructSetData($tData, "Quality", $iQuality) ;quality 0-100
Local $pData = DllStructGetPtr($tData)
$tParams = _GDIPlus_ParamInit(1)
_GDIPlus_ParamAdd($tParams, $GDIP_EPGQUALITY, 1, $GDIP_EPTLONG, $pData)
Case "PNG", "BMP", "GIF", "TIF"
$sImgCLSID = _GDIPlus_EncodersGetCLSID($sFormat)
$tGUID = _WinAPI_GUIDFromString($sImgCLSID)
Case Else
Return SetError(1, 0, 0)
EndSwitch
Local $hStream = _WinAPI_CreateStreamOnHGlobal() ;http://msdn.microsoft.com/en-us/library/ms864401.aspx
If @error Then Return SetError(2, 0, 0)
_GDIPlus_ImageSaveToStream($hBitmap, $hStream, DllStructGetPtr($tGUID), DllStructGetPtr($tParams))
If @error Then Return SetError(3, 0, 0)
Local $hMemory = _WinAPI_GetHGlobalFromStream($hStream) ;http://msdn.microsoft.com/en-us/library/aa911736.aspx
If @error Then Return SetError(4, 0, 0)
Local $iMemSize = _MemGlobalSize($hMemory)
If Not $iMemSize Then Return SetError(5, 0, 0)
Local $pMem = _MemGlobalLock($hMemory)
$tData = DllStructCreate("byte[" & $iMemSize & "]", $pMem)
Local $bData = DllStructGetData($tData, 1)
_WinAPI_ReleaseStream($hStream) ;http://msdn.microsoft.com/en-us/library/windows/desktop/ms221473(v=vs.85).aspx
_MemGlobalFree($hMemory)
If $bSave Then
Local $hFile = FileOpen($sFileName, 18)
If @error Then Return SetError(6, 0, $bData)
FileWrite($hFile, $bData)
FileClose($hFile)
EndIf
Return $bData
EndFunc ;==>_GDIPlus_StreamImage2BinaryString
Func _GDIPlus_ImageGetDimension_1($hImage)
Local $size[2]
$size[0] = _GDIPlus_ImageGetWidth ( $hImage )
$size[1] = _GDIPlus_ImageGetHeight ( $hImage )
Return $size
EndFunc