1

我需要在 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()
4

2 回答 2

1

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

于 2018-08-13T13:19:55.113 回答
0

这是旧线程,因此没有必要解决这样的 OP 问题

然而,为了其他人登陆这里的利益,这是一个“是”的答案,我没有在服务器上运行它,但理解调用 MS Print 到 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 - 将 .Doc(x)、.ODT、.RTF 或 .Txt 转换为 PDF 并在 SumatraPDF 中打开它们 在此处输入图像描述

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

于 2021-07-14T21:16:43.037 回答