使用 PowerShell 和写字板转换为 PDF

Using PowerShell and Wordpad to convert to PDF

我需要在 Windows 服务器上使用 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()

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

这是旧线程,因此没有必要解决这样的 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

P.S Jarte Pro 是写字板的更好替代品,如果您有便携式 WinWord.exe,您可以查看