繁体   English   中英

与--stdin的unoconv无法正常工作

[英]unoconv with --stdin not working

我正在使用unoconvdocx转换为pdf 只要我通过文件名传递文档,一切都很好:

$ unoconv -f pdf --stdout test.docx

但是,一旦我使用--stdin它将不再起作用:

$ unoconv -f pdf --stdin --stdout < test.docx

Traceback (most recent call last):
  File "/usr/bin/unoconv", line 1275, in <module>
    main()
  File "/usr/bin/unoconv", line 1185, in main
    inputfn = sys.stdin.read()
  File "/usr/lib/python3.5/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 41: invalid start byte

这是同一个文件。 为什么不起作用?

这是文件: https : //nofile.io/f/bKz1zWf745K/test.docx

我认为问题在于--stdin选项无法执行人们可能认为的操作。

在错误消息中,第1185行中的变量名称看起来可疑:

inputfn = sys.stdin.read()

实际上,检查源代码后 ,似乎从STDIN读取的文本被解释为文件 ,而不是文件内容。

但是,文档( man unoconv )具有误导性:

--stdin
从stdin读取输入文件(如果提供,则忽略文件名)

这听起来确实不像将输入解释为文件名。

我建议您提交有关此问题的错误报告 (也许首先检查是否已经存在)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM