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, -B
omitir o cabeçalho da página. Veja man enscript
para 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.pdf
funciona 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
paps
uma alternativa melhor? E se paps
não estiver instalado por padrão, qual é o comando para instalá-lo? Você sempre pode editar sua resposta clicando no botão edit
direito 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: pdf
até 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.