且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将PDF转换为Word文档

更新时间:2023-02-12 21:50:38

保存所有PDF在运行文件夹DOCX。

Save all pdf in run folder to docx.

转换PowerShell脚本为C#。

Convert powershell script to C#.

在AcrobatX测试专业版。

Test in AcrobatX Pro.

Pdf2Docx.ps1:

Pdf2Docx.ps1:

$TypeExt="docx"
$closeDocParam = $true;

Get-ChildItem -Filter *.pdf |Where {

# logical document

    $AVDoc = New-Object -ComObject AcroExch.AVDoc;    

    $AVDoc.Open($_.Fullname, "") | Out-Null;
# physical document

    $PDDoc = $AVDoc.GetPDDoc();                           
    $JavaScriptObject = $PDDoc.GetJSObject();                        
# get the bridge JavaScript Object

    $T = $JavaScriptObject.GetType();

    $T.InvokeMember("SaveAs",

        [Reflection.BindingFlags]::InvokeMethod -bor `
            [Reflection.BindingFlags]::Public       -bor `
            [Reflection.BindingFlags]::Instance          ,

        $null,
        $JavaScriptObject,
        @([IO.Path]::ChangeExtension($_.Fullname, $TypeExt), ("com.adobe.acrobat."+$TypeExt)));

        $T.InvokeMember("closeDoc", 

        [Reflection.BindingFlags]::InvokeMethod -bor `
            [Reflection.BindingFlags]::Public       -bor `
            [Reflection.BindingFlags]::Instance          ,

            $null, 
            $JavaScriptObject, 
            $closeDocParam) | Out-Null;

    $PDDoc.Close()  | Out-Null;
    $AVDoc.Close(1) | Out-Null;
}