lunes, 7 de mayo de 2012

Powershell: Función para convertir archivos Word en un directorio a PDF


Para convertir todos los archivos de Word en un directorio a PDF:

function Export-WordToPDF {
  param(
  [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
  [Alias("FullName")]
  $path,
  $pdfpath = $null)

  process {
    if (!$pdfpath) {
      $pdfpath = [System.IO.Path]::ChangeExtension($path'.pdf')
    }
    $word = New-Object -ComObject Word.Application
    $word.displayAlerts = $false
   
    $word.Visible = $true
    $doc = $word.Documents.Open($path)
    #$doc.TrackRevisions = $false
    $null = $word.ActiveDocument.ExportAsFixedFormat($pdfpath, 17, $false, 1)
    $word.ActiveDocument.Close()
    $word.Quit()
  }
}

Y se podría usar de esta manera:

PS> Dir c:\folder -Filter *.doc | Export-WordToPDF