使用PowerShell和Wordpad转换为PDF

时间:2018-08-10 07:53:56

标签: powershell windows-server-2012-r2 wordpad

我需要在Windows Server上使用PowerShell将文件转换为PDF(从RTF)的小脚本。我有一个可以在台式机上运行的Word原型,但是所涉及的服务器未安装Office / Word。我可以通过类似的方式调用写字板来实现相同的功能吗?

$documents_path = 'c:\projects\pbl\hi.rtf'

$word_app = New-Object -ComObject Word.Application

$document = $word_app.Documents.Open($documents_path)

$pdf_filename = 'c:\projects\pbl\hi.pdf'

$document.SaveAs([ref] $pdf_filename, [ref] 17)

$document.Close()

$word_app.Quit()

2 个答案:

答案 0 :(得分:1)

您将无法仅使用写字板来实现此目标,因为它没有像Microsoft Word一样的自动化界面。您需要研究一种替代解决方案来实现这一目标。

答案 1 :(得分:0)

这是旧线程,因此解决 OP 问题没有意义

但是,为了其他人登陆这里的利益,这是一个“是”的答案,我没有在服务器上运行它,但我知道调用 MS Print to PDF 可能存在问题——无头,有几个原因,包括它使用图形设备接口。它在工作站上完美运行。

它是沿着这些行作为一行命令完成的,输入可以是 %1,输出可以是 %2。

有 2 个 WordPad.exe 可以尝试 :-) 这是默认的美式英语:-

%comspec% "C:\Windows\System32\wordpad.exe" /pt "%Input%"  "Microsoft Print to PDF" "Microsoft Print to PDF" "%Output%"

OR my Locale British English one, which I target !

"%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /pt %1  "Microsoft Print to PDF" "Microsoft Print to PDF" %2 

有关拖放包装器的信息,请参阅:-

Doc2PDF.cmd - Convert .Doc(x), .ODT, .RTF or .Txt to PDF & open them in SumatraPDF enter image description here

附言 写字板的更好替代品是 Jarte Pro,如果您有便携式 WinWord.exe,您可以查看 https://stackoverflow.com/a/2749172/10802527