sky*_*esm 39 command-line pdf virtual-printer
在 gedit 中,打印文件提供了打印到文件的选项,该文件可以保存为 pdf。我怎样才能从命令行做同样的事情?
Ste*_*zzo 44
这是一个不涉及 OpenOffice 的解决方案:
sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
有更多选项enscript,例如-B省略页眉。查看man enscript所有选项。
小智 29
无需安装上述任何软件,只需在已安装的情况下执行以下操作cupsfilter:
cupsfilter foo.txt > foo.pdf
Run Code Online (Sandbox Code Playgroud)
(有关选项等,请参阅 cupsfilter 手册页 :-) )
Sab*_*con 13
简单的脚本方式
sudo apt-get install cups-pdf enscript
在这种情况下,然后使用 -P 开关和打印机描述 PDF 对您的文件运行 enscript。
enscript -B -PPDF test.txt
当您安装 cups-pdf 时创建了一个带有 PDF 描述的打印机,当您在该打印机上使用 enscript 时,您的文档将被发送到 PDF 打印机并打印到文件,在您的 /home/PDF 目录中创建为 .pdf,上面的命令会将文本文件 test.txt 打印为 PDF 目录中的 pdf。
使用 UNOCONV
sudo apt-get 安装 unoconv
您可以在独立模式下使用 unoconv,这意味着在没有 OpenOffice 侦听器的情况下,它将启动自己的:
在文件所在的目录中运行:
unoconv -f pdf test.txt
这将创建一个漂亮的 test.txt pdf。在当前目录
有一个命令行程序可以在所有支持的 open/libre office 格式之间进行转换,称为unoconv, 因此如果您需要使用脚本进行批量转换,它会派上用场。
sudo apt-get install unoconv
Run Code Online (Sandbox Code Playgroud)
小智 5
paps 是一个更好的选择 enscript
paps file.txt | ps2pdf - output.pdf
Run Code Online (Sandbox Code Playgroud)
在各种标记语言之间进行转换时,Pandoc 是必备的瑞士刀工具。首先安装 pandoc 转换器:
sudo apt-get install pandoc
Run Code Online (Sandbox Code Playgroud)
pandoc 的一般和最常用的语法是:
pandoc -f <from format> -t <to format> <source file>
Run Code Online (Sandbox Code Playgroud)
请注意,您需要先安装 texlive-latex-base 包,然后才能转换为 PDF 格式。否则会出现以下错误:
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Run Code Online (Sandbox Code Playgroud)
要安装它:
sudo apt-get install texlive-latex-base
Run Code Online (Sandbox Code Playgroud)
现在您可以轻松地将任何文件转换为 pdf。
pandoc -t txt -t pdf source.txt
Run Code Online (Sandbox Code Playgroud)
用您的文本格式替换 txt(odt - html - ....)