概要

WordファイルからPDFドキュメントやXPSドキュメントを作成する関数です。

パラメータの指定によって、PDFドキュメントを作成するかXPSドキュメントを作成するかを選択できます。

書式

Convert-Doc2PdfXps [-SourceFiles] <String[]> [-XPS]

パラメータ

SourceFiles

PDFまたはXPSに変換するWordファイルを指定します。パイプラインから受け取ることもできます。

XPS

このスイッチを付けると、XPSドキュメントを作成します。省略時はPDFドキュメントを作成します。

スクリプト

PowerShell
{#scriptcode_dlg.edit_script}
Edit|Remove
function Convert-Doc2PdfXps 

<# 
.SYNOPSIS 
WordファイルからPDFファイルまたはXPSファイルを作成します。 
 
.DESCRIPTION 
この関数は、WordファイルからPDFファイルまたはXPSファイルを作成します。 
 
.PARAMETER SourceFiles 
変換するWordファイルをフルパスで指定します。 
 
.PARAMETER XPS 
このスイッチパラメータを使用するとWordファイルからXPSファイルを作成します。 
省略した場合にはPDFファイルが作成されます。 
 
.EXAMPLE 
C:\PS> Convert-Doc2PdfXps C:\Work\議事録.docx 
 
説明 
----------- 
C:\Work\議事録.docx というファイルから C:\Work\議事録.pdf というPDFファイルを作成します。 
 
.EXAMPLE 
C:\PS> Convert-Doc2PdfXps C:\Work\議事録.docx -XPS 
 
説明 
----------- 
C:\Work\議事録.docx というファイルから C:\Work\議事録.xps というXPSファイルを作成します。 
 
.EXAMPLE 
C:\PS> dir *.docx | Convert-Doc2PdfXps 
 
説明 
----------- 
カレントディレクトリにあるすべての *.docx ファイルからPDFファイルを作成します。 
 
.EXAMPLE 
C:\PS> dir *.docx | Convert-Doc2PdfXps -XPS 
 
説明 
----------- 
カレントディレクトリにあるすべての *.docx ファイルからXPSファイルを作成します。 
 
#>
 
[CmdletBinding()] 
Param ( 
    [parameter(Mandatory=$true, position=0, 
        ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$true)] 
    [Alias('FullName')]     
    [string[]]$SourceFiles 
    , 
    [switch]$XPS         
    ) 
    begin 
    { 
        $WdExportFormat = "Microsoft.Office.Interop.Word.WdExportFormat" -as [type]     
         
        # Wordオブジェクトの作成 
        $objWord = New-Object -ComObject Word.Application 
        $objWord.Visible = $False 
         
        Write-Host "変換を開始します" 
    } 
    process 
    {            
        foreach ($file in $SourceFiles
        { 
            #ファイルを開く 
            $objDoc = $objWord.documents.open($file
            $objDoc.Saved = $True 
         
            Write-Host "変換中... $file" 
            if ( $XPS ) 
            { 
                # XPSとして保存する 
                $filename = [IO.Path]::ChangeExtension($file".xps"
                $objDoc.ExportAsFixedFormat($filename$WdExportFormat::wdExportFormatXPS) 
            } 
            else 
            { 
                # PDFとして保存する 
                $filename = [IO.Path]::ChangeExtension($file".pdf"
                $objDoc.ExportAsFixedFormat($filename$WdExportFormat::wdExportFormatPDF) 
            } 
        } 
    }     
    end 
    { 
        Write-Host "変換が完了しました!!" 
        $objDoc.Close() 
        $objWord.Quit() 
    } 

 
 

 

使用例1

C:\Work\議事録.docx というファイルから C:\Work\議事録.pdf というPDFファイルを作成します。

PowerShell
{#scriptcode_dlg.edit_script}
Edit|Remove
Convert-Doc2PdfXps C:\Work\議事録.docx 
 
 

 

使用例2

C:\Work\議事録.docx というファイルから C:\Work\議事録.xps というXPSファイルを作成します。

PowerShell
{#scriptcode_dlg.edit_script}
Edit|Remove
Convert-Doc2PdfXps C:\Work\議事録.docx -XPS 
 
 

 

使用例3

カレントディレクトリにあるすべての *.docx ファイルからXPSファイルを作成します。

PowerShell
{#scriptcode_dlg.edit_script}
Edit|Remove
dir *.docx | Convert-Doc2PdfXps -XPS 
 
 

 実行例