[R] Convertir un fichier PDF en fichier .DOC avec _Word_DocSaveAs
Posté : dim. 26 févr. 2017 18:51
Salut à tous.
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 :
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 :
J'ai travaillé sur ce fichier : http://www.bombmanual.com/manual/1/pdf/ ... nual_1.pdf ( Attention, c'est lié à un jeu steam ^^ pas taper => Jeu )
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.
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.
