将 pdftohtml 的输出写入标准输出

Write output of pdftohtml to stdout

我想 运行 pdftohtml 一个 pdf 文件并将其输出写入 /dev/stdout 或允许我直接从 subprocess 捕获输出的东西。

我的代码:

cmd = ['pdftohtml', '-c', '-s', '-i', '-fontfullname', filename, '-stdout', '/dev/stdout']

result = subprocess.run(cmd, stdout=PIPE, stderr=STDOUT, text=True)

上面的代码以代码 -11 退出。

我在 WSL 2 中 运行 使用 Ubuntu 18.04 进行设置。

我尝试在 bash 中执行相同的命令:

[1]    14041 segmentation fault (core dumped)  pdftohtml -c -s -i -fontfullname  -stdout /dev/stdout

也不能将“-”传递给标准输出值。

如何才能直接从 subprocess.run 获得 html 输出?

我知道可以通过管道 cat 将文件名输出到命令,但这不是我想要的。

解决方案必须与 WSL2 和 python 拉伸 docker 图像兼容。但是,任何澄清都会有所帮助:)

“复杂输出模式”,-c,指定使用帧的输出。这仅在写入文件时有效。

如果你想写入 stdout,坚持只有 -s 而没有 -c -- 并省略 /dev/stdout 作为参数(“stdout”是一个预先打开的文件描述符;因为它已经打开,所以没有理由使用名称来打开它,所以 -stdout 是一个标志类型的选项,而不是一个带有选项参数的选项。