Linux管道(转换

好的,我可以打印一份PDF,

pdf2ps file.pdf - | lp -s

但现在我想用convert来合并几个PDF文件,我可以这样做:

convert file1.pdf file2.pdf merged.pdf

它将file1.pdf和file2.pdf合并到merged.pdf中,target可以用' - '替换。

我怎么可以管道转换成pdf2ps ,然后再转换成lp


convert file1.pdf file2.pdf - | pdf2ps - - | lp -s convert file1.pdf file2.pdf - | pdf2ps - - | lp -s应该完成这项工作。

您将convert命令的输出发送到psf2ps,psf2ps将其输出反馈给lp。


你可以像文件一样使用/ dev / stdout:

convert file1.pdf file2.pdf /dev/stdout | ...

我使用gs合并PDF文件,如:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/dev/stdout -f ...

由于隐藏在您的pdf2ps命令后面,有一个正在运行的Ghostscript命令(它可以完成PDF - > PS转换),您也可以直接运行Ghostscript来生成PostScript:

gs -o output.ps      
   -sDEVICE=ps2write 
    file1.pdf        
    file2.pdf        
    file3.pdf ...

请注意,较早的GS版本不包括ps2write设备(可生成PostScript Level 2),但仅pswrite (可生成更大的PostScript Level 1)。 因此,如果需要,请相应地更改上述参数。

较老的Ghostscript版本可能还需要用-o -的现代缩写替换为更详细的-dNOPAUSE -dBATCH -sOutputFile=/dev/stdout 。 只有更新的GS版本(全部在2006年4月之后)知道-o参数。

现在,要直接将PostScript输出传递给lp命令,您必须这样做:

gs -o -              
   -sDEVICE=ps2write 
    file1.pdf        
    file2.pdf        
    file3.pdf ...    
| lp -s <other-lp-options>

这可能比首先运行pdftk快得多(但这也取决于您的输入文件)。

链接地址: http://www.djcxy.com/p/8223.html

上一篇: Linux piping ( convert

下一篇: Extracting extension from filename in Python