Convertir Word a PDF por Lotes con PowerShell
Convertir Word a PDF por Lotes con PowerShell

PowerShell: Convertir Documentos de Word a PDF por Lotes

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
Añadir ConvertWordTo-PDF a Windows
Añadir ConvertWordTo-PDF a Windows

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
Desbloquear e importar módulo ConvertWordTo-PDF
Desbloquear e importar módulo 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

Cambia la dirección de las carpetas C:\TEMP\Word y C:\TEMP\PDF por la ubicación de la carpeta que contenga los archivos a convertir. Incluso pueden ubicarse en otro disco, como el D.

Todos los documentos DOCX y DOC de esta carpeta se convertirán a PDF.

Resultado de conversión de Word a PDF por lotes
Resultado de conversión de Word a PDF por lotes
Archivos Docx convertidos a PDFs
Archivos Docx convertidos a PDFs

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…