27/07/2024

PowerShell

PowerShell : comment convertir des documents Word en PDF ?

I. Présentation

Prendre un document Word et l'exporter en PDF avant de le transférer par e-mail ou de la partager, c'est une opération classique, voire quotidienne. Pour un ou deux fichiers comme ça, tous les jours, difficile de faire autrement que de le faire manuellement.

Par contre, si l'on vous demande de convertir 50, 100 ou même 1 000 documents Word en PDF, comment allez-vous faire ? Les ouvrir un par un et les exporter, je ne pense pas... Il y a plusieurs manières de faire, des logiciels peuvent vous aider à le faire, mais vous pouvez aussi par PowerShell et ça c'est cool !

En effet, j'ai trouvé le script ConvertWordTo-PDF pour convertir un Word en PDF avec PowerShell et il fonctionne parfaitement ! Je vous invite à le récupérer depuis le lien suivant : ConvertWordTo-PDF - Merci @Patrick Gruenauer pour ce script.

II. Ajouter ConvertWordTo-PDF sur votre PC

Après avoir téléchargé l'archive ZIP, nous pouvons ajouter le script sur le PC en tant que module directement grâce au fichier .psm1 qui est intégré à l'archive. Créez un dossier pour ce module et copiez le fichier dedans, ce qui donne :

C:\Program Files\WindowsPowerShell\Modules\ConvertWordTo-PDF\ConvertWordTo-PDF.psm1

Puisque ce fichier provient d'Internet, il faut le débloquer grâce à cette commande à exécuter en tant qu'administrateur :

Unblock-File "C:\Program Files\WindowsPowerShell\Modules\ConvertWordTo-PDF\ConvertWordTo-PDF.psm1"

Ensuite, on peut importer le module :

Import-Module ConvertWordTo-PDF

Il ne reste plus qu'à voir comment l'utiliser.

III. Convertir Word en PDF avec PowerShell

La commande ConvertWordTo-PDF s'utilise avec deux paramètres :

  • SourceFolder : le dossier source qui contient tous les documents Word à convertir
  • DestinationFolder : le dossier destination où seront stockés tous les fichiers PDF générés. Ce paramètre est facultatif, s'il n'est pas précisé les PDF seront créés dans le dossier source

Simple à utiliser. Pour convertir tous les documents Word du dossier "C:\TEMP\Word" en PDF dans le dossier "C:\TEMP\PDF", voici la commande :

ConvertWordTo-PDF -SourceFolder "C:\TEMP\WORD\" -DestinationFolder "C:\TEMP\PDF\"

Tous les documents DOCX et DOC de ce dossier seront convertis en PDF.

Pour chaque fichier du dossier, l'opération s'effectue en trois étapes : on ouvre le document, on l'enregistre en PDF grâce à la méthode SaveAs() dans laquelle on spécifie le format de sortie (PDF) et on ferme le document.

$doc = $word.documents.open($f.FullName) 
$doc.saveas($path,$FormatPDF) 
$doc.close()

Maintenant, c'est à vous de jouer...

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.