Respuestas:
Aquí hay una solución que no involucra OpenOffice:
sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
Hay más opciones para enscript
, por ejemplo, -B
omitir el encabezado de página. Ver man enscript
para todas las opciones.
sin instalar ninguno de los programas mencionados anteriormente, simplemente puede hacer lo siguiente con los ya instalados cupsfilter
:
cupsfilter foo.txt > foo.pdf
(para opciones, etc., consulte las páginas de manual de cupsfilter :-))
LA MANERA SIMPLE DE INSCRIPCIÓN
sudo apt-get install cups-pdf enscript
Luego ejecute enscript en su archivo con el interruptor -P y la descripción de la impresora PDF en este caso.
enscript -B -PPDF test.txt
Se creó una impresora con descripción PDF cuando instaló cups-pdf, cuando usa enscript con esa impresora su documento se enviará a la impresora PDF y se imprimirá en un archivo, creado como .pdf en su directorio / home / PDF, el El comando anterior imprimirá el archivo de texto test.txt como un pdf en el directorio PDF.
UTILIZANDO UNOCONV
sudo apt-get install unoconv
Puede usar unoconv en modo independiente, esto significa que, en ausencia de un oyente OpenOffice, comenzará por sí mismo:
En el directorio donde se encuentra su archivo, ejecute:
unoconv -f pdf test.txt
esto creará un bonito pdf de test.txt. en el directorio actual
enscript foo.txt -o bar.pdf
funciona bastante bien; ¡Gracias!
Hay un programa de línea de comandos que puede convertir entre todos los formatos admitidos en open / libre office llamado unoconv, por lo que si necesita convertir por lotes con un script, será útil.
sudo apt-get install unoconv
paps
es una mejor alternativa que enscript
paps file.txt | ps2pdf - output.pdf
paps
una mejor alternativa? Y si paps
no está instalado por defecto, ¿cuál es el comando para instalarlo? Siempre puede editar su respuesta haciendo clic edit
justo debajo del cuerpo de la respuesta. ¡Gracias!
Pandoc es una herramienta de cuchillo suizo imprescindible cuando se trata de la conversión entre varios lenguajes de marcado. Para comenzar, primero instale el convertidor de Pandoc:
sudo apt-get install pandoc
La sintaxis general y más utilizada para pandoc es:
pandoc -f <from format> -t <to format> <source file>
Tenga en cuenta que primero necesita instalar el paquete texlive-latex-base, antes de poder convertirlo a formato PDF. De lo contrario, recibirá el siguiente error:
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Para instalarlo:
sudo apt-get install texlive-latex-base
Ahora puede convertir fácilmente cualquier archivo a pdf.
pandoc -t txt -t pdf source.txt
reemplace txt con su formato de texto (odt - html - ....)
pandoc: Unknown writer: pdf
hasta que instalo texlive-latex-base. Esto es de confianza. Veo github.com/jgm/pandoc/issues/1155 Entonces me dio un error acerca de una fuente que falta, entonces uno sobre url.sty, etc.
Como se publicó anteriormente, enscript
es una forma popular de convertir texto a postscript, que luego se puede convertir a PDF.
Una herramienta similar, que ha existido durante mucho tiempo, es a2ps
. Tiene una gran cantidad de opciones, incluida la colocación de varias páginas en una página física. Instalar ap2s con
sudo apt-get install a2ps
.
AFAIK, enscript y a2ps hacen el mismo trabajo, pero su interfaz es diferente y YMMV con cada uno de ellos.
Tuve algunos problemas con el alemán Umlaute (ÄÖÜ) con las soluciones mencionadas anteriormente. O, en el caso de paps, el PDF resultante no tiene una capa de texto.
La mejor solución para mí fue usar wkthmltopdf . Parece que no está documentado, pero puede convertir fácilmente archivos de texto en archivos PDF utilizando esta sintaxis:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf puede manejar archivos UTF-8 (a diferencia de enscript). Todos los caracteres problemáticos como ÄÖÜß, etc. se mostrarán correctamente.
También puedes usar u2ps .
Esto genera tanto ps como pdf. Esto acepta texto UTF-8 y admite resaltado de sintaxis a través de marcas de Pango.