Tomar un documento Word y exportarlo como PDF antes de transferirlo por correo electrónico o compartirlo es una operación clásica, incluso diaria. Para uno o dos archivos así, cada día, es difícil hacer otra cosa que no sea hacerlo manualmente.
Pero si te piden que conviertas 50, 100 o incluso 1.000 documentos Word en PDF, ¿cómo vas a hacerlo? Abrirlos uno a uno y exportarlos, no creo… Hay varias formas de hacerlo, hay software que te puede ayudar a hacerlo, pero también puedes usar PowerShell ¡y eso mola!
Encontré el script ConvertWordTo-PDF para convertir Word a PDF usando PowerShell y ¡funciona perfectamente! Te invito a descargarlo desde el siguiente enlace: ConvertWordTo-PDF – Gracias @Patrick Gruenauer por este script.
Añadir ConvertWordTo-PDF al PC
Una vez que hayas descargado el archivo ZIP, puedes añadir el script a tu PC como un módulo utilizando el archivo .psm1 incluido en el archivo. Crea una carpeta para este módulo y copia el archivo en ella, lo que da:
C:\Program Files\WindowsPowerShell\Modules\ConvertWordTo-PDF\ConvertWordTo-PDF.psm1
Como este archivo viene de Internet, necesitas desbloquearlo usando este comando, que puedes ejecutar como administrador:
Unblock-File "C:\Program Files\WindowsPowerShell\Modules\ConvertWordTo-PDF\ConvertWordTo-PDF.psm1"
A continuación, puedes importar el módulo:
Import-Module ConvertWordTo-PDF
Sólo queda ver cómo utilizarlo.
Conversión de Word a PDF por Lotes con PowerShell
El comando ConvertWordTo-PDF se utiliza con dos parámetros:
SourceFolder
: la carpeta de origen que contiene todos los documentos Word que se van a convertir.DestinationFolder
: la carpeta de destino donde se almacenarán todos los archivos PDF generados. Este parámetro es opcional; si no se especifica, los PDF se crearán en la carpeta de origen.
Fácil de usar. Para convertir todos los documentos Word de la carpeta «C:\TEMP\Word» en archivos PDF de la carpeta «C:\TEMP\PDF«, utiliza el siguiente comando:
ConvertWordTo-PDF -SourceFolder "C:\TEMP\WORD\" -DestinationFolder "C:\TEMP\PDF\"
Nota
Todos los documentos DOCX y DOC de esta carpeta se convertirán a PDF.
Para cada archivo de la carpeta, la operación se realiza en tres etapas: se abre el documento, se guarda como PDF mediante el método SaveAs(), en el que se especifica el formato de salida (PDF), y se cierra el documento.
$doc = $word.documents.open($f.FullName)
$doc.saveas($path,$FormatPDF)
$doc.close()
En conclusión, PowerShell proporciona una solución eficiente y automatizada para convertir documentos de Word a PDF por lotes. Esta funcionalidad es especialmente útil cuando se trabaja con grandes cantidades de archivos y se desea ahorrar tiempo y esfuerzo. A través de simples comandos y scripts, es posible automatizar el proceso de conversión y obtener archivos PDF de alta calidad y consistentes.
Ahora te toca a ti…