Je me suis mis dans l'idée de créer plusieurs scripts pour convertir tel document vers un autre format... Dans le cas où je dois envoyer un mail avec un fichier en pièce-jointe...
Combien de fois la personne me répond ceci :
désolé, je n'arrive pas à ouvrir le fichier, pouvez-vous l'enregistrer dans un autre format ?
Dans cet état d'esprit, je me créé donc un script qui me permet donc de "convertir" un fichier PDF au format .doc...
Le script en lui-même fonctionne, mais le résultat n'est pas vraiment "conforme"...
Disons qu'en plus de convertir, il met des pages blanches entre chaque page "pas blanche".

Résultat : un fichier de 23 pages (PDF) devient un fichier de 46 pages (.doc)...

Voici le code en question :
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <Word.au3>
_pdftoword()
Func _pdftoword()
$pdf = @ScriptDir & "\Bomb-Defusal-Manual_1.pdf"
$doc = @ScriptDir & "\Bomb-Defusal-Manual_1.doc"
While 1
If ProcessExists("Winword.exe") Then
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(68, "Processus Word toujours actif !", "Attention : Microsoft Word est toujours actif..." & @CRLF & @CRLF & "Enregistrez vos travaux avant de continuer." & @CRLF & "En effet, pour pouvoir convertir ce PDF au format .doc, Microsoft Word sera fermé." & @CRLF & @CRLF & "Voulez-vous continuer ?" & @CRLF & "Si OUI : Microsoft Word sera fermé et la conversion se fera automatiquement." & @CRLF & "Si NON : A vous de fermer Microsoft Word et de réitérer l'opération.")
Select
Case $iMsgBoxAnswer = 6 ;Yes
ProcessClose("winword.exe")
ProcessClose("winword.exe")
Case $iMsgBoxAnswer = 7 ;No
ExitLoop
EndSelect
EndIf
Local $oWord = _Word_Create(False, True)
If @error Then ExitLoop
; Open the test document
Local $oDoc = _Word_DocOpen($oWord, $pdf)
If @error Then ExitLoop
; *****************************************************************************
; Save the document as _Word_Test2.doc
; *****************************************************************************
; Insert text at the beginning
Local $oRange = _Word_DocRangeSet($oDoc, 0)
;~ $oRange.Text = "Bold text at the beginning. "
;~ $oRange.Bold = True
; Save document
_Word_DocSaveAs($oDoc, $doc)
If @error Then ExitLoop
_Word_Quit($oWord)
ShellExecute($doc)
ExitLoop
WEnd
EndFunc ;==>_pdftoword
#include <MsgBoxConstants.au3>
#include <Word.au3>
_pdftoword()
Func _pdftoword()
$pdf = @ScriptDir & "\Bomb-Defusal-Manual_1.pdf"
$doc = @ScriptDir & "\Bomb-Defusal-Manual_1.doc"
While 1
If ProcessExists("Winword.exe") Then
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(68, "Processus Word toujours actif !", "Attention : Microsoft Word est toujours actif..." & @CRLF & @CRLF & "Enregistrez vos travaux avant de continuer." & @CRLF & "En effet, pour pouvoir convertir ce PDF au format .doc, Microsoft Word sera fermé." & @CRLF & @CRLF & "Voulez-vous continuer ?" & @CRLF & "Si OUI : Microsoft Word sera fermé et la conversion se fera automatiquement." & @CRLF & "Si NON : A vous de fermer Microsoft Word et de réitérer l'opération.")
Select
Case $iMsgBoxAnswer = 6 ;Yes
ProcessClose("winword.exe")
ProcessClose("winword.exe")
Case $iMsgBoxAnswer = 7 ;No
ExitLoop
EndSelect
EndIf
Local $oWord = _Word_Create(False, True)
If @error Then ExitLoop
; Open the test document
Local $oDoc = _Word_DocOpen($oWord, $pdf)
If @error Then ExitLoop
; *****************************************************************************
; Save the document as _Word_Test2.doc
; *****************************************************************************
; Insert text at the beginning
Local $oRange = _Word_DocRangeSet($oDoc, 0)
;~ $oRange.Text = "Bold text at the beginning. "
;~ $oRange.Bold = True
; Save document
_Word_DocSaveAs($oDoc, $doc)
If @error Then ExitLoop
_Word_Quit($oWord)
ShellExecute($doc)
ExitLoop
WEnd
EndFunc ;==>_pdftoword
Je dois donc avoir ceci en première page du fichier converti (.doc) : http://i.imgur.com/57mpvFI.png
Mais j'ai ceci : http://i.imgur.com/TucwM2T.png
Bref, pouvez-vous m'aider à y voir plus clair.
Car là ( et non pas Clara lol) : je sèche...
Merci à tous.
Bonne fin de dimanche.
