将 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
是一个标志类型的选项,而不是一个带有选项参数的选项。
我想 运行 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
是一个标志类型的选项,而不是一个带有选项参数的选项。