如何使用 enscript 生成 pdf 文件而不是 ps 文件?

如何使用 enscript 生成 pdf 文件而不是 ps 文件?

我想知道为什么以下生成 ps 文件而不是 pdf 文件?我怎样才能让它生成pdf文件?谢谢。

$ enscript -B -PPDF code/bloom.c -o bloom.pdf 
[ 2 pages * 1 copy ] left in bloom.pdf
$ file bloom.pdf 
bloom.pdf: PostScript document text conforming DSC level 3.0

我已经安装了 cups-pdf

sudo apt install cups-pdf

答案1

默认情况下,enscript仅生成 postscipt 文件 (ps)。

您的命令行缺少两个标志:小的 -p首都 -P。命令行必须是这样的:

enscript -B -P <PDF_PRINTER_NAME> code/bloom.c -p myfile.ps

根据enscript 联机帮助页

-P name, --printer=name
Spool the output to the printer name.

-p file, --output=file
Leave the output to file file. If the file is `-', enscript sends the output to the standard output stdout.

如果系统中没有 pdf 打印机,则鬼脚本可以将ps文件转换为pdf文件,如下:

sudo apt install ghostscript
ps2pdf myfile.ps myfile.pdf

或者

enscript file -o - | ps2pdf - output.pdf

当系统默认使用 pdf 打印机时,类似以下命令将输出 pdf 文件而不是 ps 文件:

enscript -2 -r -j --font=Times-Roman11 --word-wrap --mark-wrapped=arrow '%f' && sleep 2 && evince ~/PDF/_stdin_.pdf

- The `%f` designates the filename parameter.    
- The `&& sleep 2 &amp;&amp; evince ~/PDF/_stdin_.pdf` commands will wait two seconds for the print job to finish, then run the Evince PDF viewer to display the file _stdin_.pdf you just generated in the user’s PDF subdirectory.

相关内容