如何在 Windows 中通过命令行打印从 RTF 到 PDF

问题描述 投票:0回答:1

通过 LibreOffice,我发现这是可能的。我想知道怎么办。

soffice" --headless --invisible --norestore --convert-to pdf filename.rtf
windows pdf rtf
1个回答
1
投票

Windows(您为其许可证付费)包含一个免费的 RTF 到 PDF 转换器。

因此我们需要的只是一行控制台程序命令。

write /pt file.rtf "Microsoft Print to PDF" "Microsoft Print to PDF" file.pdf

MS Word 具有更好的 RTF 功能可能存在局限性。

"%soffice%" --convert-to "pdf:writer_pdf_Export" "%~1"

 只是下载和您的时间的成本(计算/编程中没有什么是“免费的”)。然而它有与下面完全相同的问题(非功能性超链接)。

我认为 MS 打印的一个缺点是,虽然

freeJarte PLus 6.2”可以嵌入工作超链接,但在 MS 打印之后,它们不能像在 RTF 中那样工作。

但是,如果我另存为 HTML 并将其另存为 PDF,则超链接将被保留!

不合格的 RTF 2 PDF 限制。

Free Jarte Plus 6.2 具有通过命令行进行无头打印的功能。


/PT:<printer name>


可以重定向到任何真实或虚拟的 PDF 打印机。但是它需要配置才能使用我的默认 PDF 打印机。这些都在共同限制内工作。

但是似乎有一个共同的问题。来自 RTF 的超链接在将打印导出为 PDF 时不起作用,除非通过另存为 HTML 构建?

使用 MS Word 本身也会发生同样的情况,因为“另存为 PDF”超链接有效。但从 MS Word“打印为 PDF”中,超链接是蓝色的,但处于非活动状态。

超链接解决方案

如果您升级了 MS 许可证以包含 Office。然后您可以自由地使用 interop 将 RTF 保存为 PDF。但这是因为 MS Word VBA API 是免费提供的(如果您除了硬件和操作系统之外还购买了 Office)。

或者

您的免费开源

soffice

可以转换为html。然后您可以使用 Windows 包含的 MSEdge 自由 --headless 打印带有超链接的 html 到 pdf。

在我的系统中

program\soffice --convert-to "html:XHTML Writer File:UTF8" about.rtf&timeout 2&"C:\Program Files\Microsoft\Edge\Application\msedge.exe" --headless --no-pdf-header-footer -print-to-pdf="%cd%\about.pdf" "%cd%\about.html"&timeout 4&about.pdf
    
© www.soinside.com 2019 - 2024. All rights reserved.