Erreur à la lecture d'un fichier .PDF

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
David49
Niveau 1
Niveau 1
Messages : 1
Enregistré le : mer. 17 avr. 2024 07:36
Status : Hors ligne

Erreur à la lecture d'un fichier .PDF

#1

Message par David49 »

Bonjour à tous,

J'ai besoin d'un petit coup de main. J'utilise AutoIt depuis plusieurs années mais aujourd'hui je suis confronté à un problème dont je n'arrive pas à traiter.
J'ai bien évidemment fait de multiple recherches mais sans succès à ce jour.

J'ai un script qui me permet d'envoyer des mails via GMAIL. (Merci Ascer https://www.autoitscript.com/forum/topi ... nt-1380927)
Ce script fonctionne très bien, mais lors de l'attachement de pièces jointes (exclusivement de .pdf dans mon cas), certain de mes fichiers sont corrompus.

Code : Tout sélectionner

	If $sAttachment8 <> "" Then
		$sStruct &= @LF & @LF
		$sStruct &= "--" & $sBoundaryAttachments & @LF
		If Not IsArray($sAttachment8) Then
			Local $aFastArray = [$sAttachment8]
			$sAttachment8 = $aFastArray
		EndIf
		For $sAttatch In $sAttachment8
			Local $sFileName = StringSplit($sAttatch, "\")
			If IsArray($sFileName) Then
				$sFileName = $sFileName[$sFileName[0]]
			Else
				$sFileName = "Unknown.txt"
			EndIf

			$sStruct &= 'Content-Disposition: attachment; filename="' & $sFileName & '"' & @LF
			$sStruct &= "Content-Transfer-Encoding: base64" & @LF
			$sStruct &= @LF

			Local $sFile = FileRead(FileOpen($sAttatch))
			ConsoleWrite("++++ gmailUsersMessagesSend() -> converting attachment " & '"' & $sFileName & '"' & " to base64binary." & @CRLF)
			$sFile = base64($sFile)

			$sStruct &= $sFile & @LF & @LF
			$sStruct &= "--" & $sBoundaryAttachments & @LF
		Next
	EndIf
Je pensais initialement à un problème d'encodage en base64.
Mais après quelques essais, la lecture du fichier .pdf avant encodage semble erronée. (uniquement sur mes documents qui seront transmis "corrompus")
La fonction FileRead renvoie une succession de "?" en lieu et place de "Ox25...."
J'ai également isolé le type de .pdf à envoyer. Tous mes pdf étant en pdf/A.
Et je précise que certains de mes fichiers sont très bien transmis, quelque soit le nombre de pages

Bien évidemment, mes .pdf sont lisibles sans problème manuellement avec un viewer.

Je vous remercie d'avance de votre aide.
Répondre