Respostas:
Aqui está uma solução que não envolve o OpenOffice:
sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
Existem mais opções para enscript, por exemplo, -Bomitir o cabeçalho da página. Veja man enscriptpara todas as opções.
sem instalar nenhum dos softwares mencionados acima, basta fazer o seguinte com o já instalado cupsfilter:
cupsfilter foo.txt > foo.pdf
(para opções etc., consulte as páginas de manual cupsfilter :-))
A MANEIRA SIMPLES DE INSCRIÇÃO
sudo apt-get install cups-pdf enscript
Em seguida, execute o enscript em seu arquivo com a opção -P e o PDF de descrição da impressora neste caso.
enscript -B -PPDF test.txt
Uma impressora com descrição PDF foi criada quando você instalou cups-pdf; quando você usa o enscript nessa impressora, seu documento será enviado para a impressora PDF e será impresso em arquivo, criado como .pdf no diretório / home / PDF, o O comando acima imprimirá o arquivo de texto test.txt como um pdf no diretório PDF.
USANDO UNOCONV
sudo apt-get install unoconv
Você pode usar unoconv no modo autônomo, isso significa que, na ausência de um ouvinte do OpenOffice, ele começará o seu:
No diretório em que seu arquivo está localizado, execute:
unoconv -f pdf test.txt
isso criará um belo pdf de test.txt. no diretório atual
enscript foo.txt -o bar.pdffunciona muito bem; obrigado!
Existe um programa de linha de comando que pode converter entre todos os formatos compatíveis com o open / libre office chamado unoconv; portanto, se você precisar converter em lote com um script, será útil.
sudo apt-get install unoconv
paps é uma alternativa melhor do que enscript
paps file.txt | ps2pdf - output.pdf
papsuma alternativa melhor? E se papsnão estiver instalado por padrão, qual é o comando para instalá-lo? Você sempre pode editar sua resposta clicando no botão editdireito embaixo do corpo da resposta. Obrigado!
Pandoc é uma ferramenta de faca suíça indispensável quando se trata de conversão entre várias linguagens de marcação. Para começar, instale o conversor pandoc:
sudo apt-get install pandoc
A sintaxe geral e mais frequentemente usada para pandoc é:
pandoc -f <from format> -t <to format> <source file>
Observe que você precisa primeiro instalar o pacote texlive-latex-base, antes de poder converter para o formato PDF. Caso contrário, você receberá o seguinte erro:
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Para instalá-lo:
sudo apt-get install texlive-latex-base
Agora você pode facilmente converter qualquer arquivo para pdf.
pandoc -t txt -t pdf source.txt
substitua o txt pelo seu formato de texto (odt - html - ....)
pandoc: Unknown writer: pdfaté instalar o texlive-latex-base. Isso é confiável. Veja github.com/jgm/pandoc/issues/1155 Então eu tenho um erro sobre uma fonte ausente, então um sobre url.sty, etc.
Conforme publicado acima, enscripté uma maneira popular de converter texto em postscript, que pode ser posteriormente convertido em PDF.
Uma ferramenta semelhante, que existe há muito tempo, é a2ps. Possui um grande número de opções, incluindo colocar várias páginas em uma página física. Instale o ap2s com
sudo apt-get install a2ps.
AFAIK, enscript e a2ps fazem o mesmo trabalho, mas sua interface é diferente e YMMV com cada um deles.
Eu tive alguns problemas com o Umlaute alemão (ÄÖÜ) com as soluções acima mencionadas. Ou, no caso de paps, o PDF resultante não possui uma camada de texto.
A melhor solução para mim foi usar o wkthmltopdf . Parece não estar documentado, mas você pode facilmente converter arquivos de texto em arquivos PDF usando esta sintaxe:
wktmltopdf <textfile> <pdffile>
O wkhtmltopdf pode manipular arquivos UTF-8 (diferente do enscript). Todos os caracteres problemáticos como ÄÖÜß etc. serão exibidos corretamente.
Você também pode usar o u2ps .
Isso gera ps e pdf. Isso aceita texto UTF-8 e suporta o destaque de sintaxe através das marcações do Pango.