有没有一种方法可以让需要文件参数的命令行程序使用stdin?

3
我正在尝试让命令pdftotext处理stdin中的数据,而不是必须缓存中间数据到临时文件中。请注意,pdftotext命令是从Java程序执行的。 pdftotext需要一个文件参数,如果没有提供,则会打印使用信息。据我所知,stdin被忽略了。
我有一个非便携式的解决方案(在Linux上使用伪文件'/dev/stdin')。一个理想的解决方案将适用于Linux和Windows,假设pdftotext程序存在。

忘记了,就像在Windows中的所有CON设备一样(编辑DOS,而不是Windows:D),您需要使用Ctrl + Z来关闭。 - bestsss
1个回答

3

pdftotext似乎支持使用-作为特殊方式来表示'stdin'。因此,执行pdftotext - mypdf.txt将尝试从stdin读取pdf文档并将其输出到mypdf.txt文件中。您也可以将-用作输出文件,这样它将把转换后的pdf输出到标准输出而不是常规文件。


它只支持输出参数“-”,不支持输入参数。例如,当我尝试运行“pdftotext - bla.txt”时,会出现错误“无法打开文件'-'”。 - Craig Gidney
那么你可能使用的是与我不同版本的pdftotext程序,我正在使用来自http://poppler.freedesktop.org/的v 0.14.5版本。 - nos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接