Page 1 sur 1

[RESOLU] Erreur à la lecture d'un fichier .PDF

Posté : mer. 17 avr. 2024 08:19
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.

Re: Erreur à la lecture d'un fichier .PDF

Posté : mer. 22 mai 2024 07:57
par David49
***** HELP *****
Pas d'idées?

Re: Erreur à la lecture d'un fichier .PDF

Posté : jeu. 23 mai 2024 07:29
par jchd
Il faut lire le fichier en binaire, pas en texte.

Re: Erreur à la lecture d'un fichier .PDF

Posté : jeu. 30 mai 2024 16:00
par David49
Ok
Je fouille cette piste
Merci

Re: Erreur à la lecture d'un fichier .PDF

Posté : jeu. 30 mai 2024 16:38
par David49
Mon premier essai est concluant.
Le traitement se lance tous les soirs. Je verrai dans les jours qui viennent. 🤞
Merci encore jchd

Re: Erreur à la lecture d'un fichier .PDF

Posté : lun. 10 juin 2024 08:36
par David49
Après 1 semaine de traitement, tout semble OK.
Merci beaucoup jchd pour votre aide.