我需要在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()
答案 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
附言 写字板的更好替代品是 Jarte Pro,如果您有便携式 WinWord.exe,您可以查看 https://stackoverflow.com/a/2749172/10802527