Massenkonvertierung .doc nach .pdf – Powershell

Mit diesem Powershell Skript ist es möglich, alle Word Dokumente (.doc und .docx) automatisch in ein PDF umzuwandeln.
Dazu muss der Code als .ps1 Datei gespeichert werden.
Entweder wird danach das Skript direkt aufgerufen oder in der Powershell gestartet und der Pfad eingegeben.

powershell-console

Anschließend befinden sich neben den Word Dokumenten ebenfalls PDF Dokumente im Verzeichnis.

explorer-docs

[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

$documents_path = Read-Host "Pfad eingeben "
$word_app = New-Object -ComObject Word.Application
# This filter will find .doc as well as .docx documents
Get-ChildItem -Path $documents_path -Filter *.doc? | ForEach-Object {
$document = $word_app.Documents.Open($_.FullName)
$pdf_filename = "$($_.DirectoryName)$($_.BaseName).pdf"
$document.SaveAs([ref] $pdf_filename, [ref] 17)
$document.Close()
}
$word_app.Quit()

Alternativ gibt es das Skripte hier als Download.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

2 thoughts on “Massenkonvertierung .doc nach .pdf – Powershell

  1. Hallo, vielen Danke dafür. Wie ist es möglich, den Code so anzupassen, dass die pdf’s in einem separaten Verzeichnis erstellt werden? Danke vorab!

    Like

    • Hi,
      du kannst einfach die Variable direkt anpassen.
      Bspw.: $pdf_filename = “$(“C:temp”)$($_.BaseName).pdf”
      Oder du definierst am Anfang eine neue Variable (analog zu $documents_path), die du einliest und den Namen der Variable dann wieder nutzt:
      $documents_out_path = Read-Host “Ziefpfad fuer die PDFs eingeben ”
      $pdf_filename = “$($documents_out_path)$($_.BaseName).pdf”

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s