如何使用LibreOffice和C#

时间:2018-09-28 09:33:33

标签: c# libreoffice file-conversion

我用来转换文档的字符串如下。我不确定传递给办公室的参数是否有问题。

  

办公室-转换为pdf --outdir C:\ test \ NPP \ LOTestOutputs \ C:\ test \ NPP \ MBI_CONVERSION_PRESETS.docx

也尝试过:

  

办公室-转换为pdf C:\ test \ NPP \ MBI_CONVERSION_PRESETS.docx --outdir C:\ test \ NPP \ LOTestOutputs \

这将传递给c#中的代码,该代码将启动一个进程并执行传递给它的参数。 问题是该进程在proc.WaitForExit()处无限等待。我能够从cmd提示符下执行更简单的命令[office --convert-to pdf MBI_CONVERSION_PRESETS.docx]

..some more code above related to process init
proc.Start();
proc.BeginOutputReadLine();
proc.BeginErrorReadLine();
proc.WaitForExit();

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

libreoffice版本:5.4

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

编辑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)}

1 个答案:

答案 0 :(得分:1)

这里的主要输出原因是输出路径。该目录不应包含尾部反斜杠。我在另一个网站上发布了相同的问题,并得到了答案。开发团队可能会提出针对反斜杠的修正。

链接到共享的here答案以获取更多参考。

谢谢大家!