如何使用 LibreOffice 和 C# 将 doc 转换为 pdf

How to convert doc to pdf using LibreOffice and C#

我用来转换文档的字符串如下。不知道是不是传给soffice的参数有问题

soffice --convert-to pdf --outdir C:\test\NPP\LOTestOutputs\ C:\test\NPP\MBI_CONVERSION_PRESETS.docx

也尝试过:

soffice --convert-to pdf C:\test\NPP\MBI_CONVERSION_PRESETS.docx --outdir C:\test\NPP\LOTestOutputs\

并将其传递给 c# 中的代码,该代码启动进程并执行传递给它的参数。 问题是进程在 proc.WaitForExit() 处无休止地等待。我能够从 cmd 提示符

执行更简单的命令 [soffice --convert-to pdf MBI_CONVERSION_PRESETS.docx]
..some more code above related to process init
proc.Start();
proc.BeginOutputReadLine();
proc.BeginErrorReadLine();
proc.WaitForExit();

我在 上提到了类似的问题,并且我检查了我的用户帐户是否具有管理员权限。而且我不确定为什么我不能使用 libreoffice 转换文档。

libreoffice 版本:5.4

希望得到一些关于 Whosebug 的提示。如果您需要有关我的测试的任何信息,请告诉我。

编辑 2:从流中读取的错误

{Error: Please verify input parameters... (SfxBaseModel::impl_store <C:\test\NPP\LOTestOutputs" -env:OOO_CWD=2C:\Users\dev\source\repos\Converstion\TestClass\bin\Debug/MBI_CONVERSION_PRESETS.pdf> failed: 0x81a)}

输出路径是这里的罪魁祸首。该目录不应包含结尾的反斜杠。我在不同的网站上发布了同样的问题并得到了答案。开发团队可能会针对结尾的反斜杠提出解决方案。

Link 共享答案 here 以供更多参考。

谢谢大家!