我经常(每天 10 次以上)需要将 pdf 转换为 word。我使用 Acrobat Pro 中的“另存为”功能。有什么好方法可以加快此过程并将其简化为一次单击?理想情况下,在处理过程中不会占用 Adobe(即冻结我的其他选项)的方法。
最好的情况是在文件上简单地单击鼠标右键,但如果有任何想法我都会很感激。
答案1
cmd
允许在 powershell 中运行脚本,在以管理员身份运行时输入:
选择密码cmd
按Shift+Right mouse Click
powershell -command "Set-ExecutionPolicy RemoteSigned"
在桌面创建文件夹 PdfConvert,运行Pdf2Docx4.cmd
将文件夹 $PDFpath :) 中的所有 pdf 文件转换为 docx。
Pdf2Docx4.cmd:
powershell .\PdfConvert\Pdf2Docx4.ps1
Pdf2Docx4.ps1:
$TypeExt="docx"
$closeDocParam = $true;
$PDFpath = "D:\VBS\PS-29-AcrobatProX\"
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;
}