Quiero convertir .txt
archivos a .pdf
. Estoy usando esto:
ls | while read ONELINE; do convert -density 400 "$ONELINE" "$(echo "$ONELINE" | sed 's/.txt/.pdf/g')"; done
Pero esto produce un "error": si hay una línea muy larga en el archivo de texto, no se ajusta.
Texto de entrada
PDF de salida
-
Además, también sería genial si el PDF de salida pudiera contener texto, en lugar de imágenes de texto.
Tengo muchos, muchos, muchos archivos TXT. Así que no quiero hacerlo a mano. Necesito una solución automática, como la que mencioné anteriormente.
text-processing
pdf
imagemagick
conversion
LanceBaynes
fuente
fuente
for ONELINE in *
lugar dels | while read ONELINE
. Leer este .Respuestas:
Un método es usar CUPS y la psuedo-impresora PDF para "imprimir" el texto en un archivo PDF.
Otra es usar enscript para codificar a postscript y luego convertir de postscript a PDF usando el archivo ps2pdf del paquete ghostscript.
fuente
Pandoc puede hacer esto. Está más enfocado en convertir texto marcado a varios formatos, pero no debería tener problemas con texto simple.
fuente
LibreOffice / OpenOffice, así como la mayoría de los otros procesadores de texto (Abiword) pueden hacer esto con bastante facilidad.
Hay una pequeña utilidad llamada
unoconv
que usa la base de código de LibreOffice para hacer conversiones de formato de archivo en la línea de comando. Puede leer y escribir cualquier combinación de formatos que LibreOffice puede y hace que sea muy fácil de hacer las cosas comodoc
apdf
las conversiones en la línea de comandos. Simpletxt
apdf
sería fácil para él.fuente
unoconv
y ni siquiera sabía que OO tenía API.unoconv --listener &
comando.Puede imprimir texto en un archivo PostScript con Vim y luego convertirlo a PDF, siempre que Vim se haya compilado con la
+postscript
función.Para esto usa el
:hardcopy > {filename}
comando. Por ejemplo, puedes abrirexample.txt
y ejecutarque producirá un archivo que
example.ps
contiene todo el textoexample.txt
. El encabezado de cada página en el archivo PostScript contendrá el nombre de archivo original y el número de página.Luego puede convertir el archivo PostScript en un PDF utilizando el siguiente comando
que va a crear
example.pdf
.Puede hacer lo mismo directamente desde un terminal (sin interactuar con Vim) utilizando el siguiente comando
Esto se abre
example.txt
en Vim y ejecuta el comando pasado a la-c
opción, que en este caso es unhardcopy
comando seguido de un comando quit (q
). Luego se ejecutaps2pdf
para producir el archivo final.Para obtener más opciones, consulte los archivos de ayuda con
:help :hardcopy
.fuente
:hardcopy
produce un archivo PostScript sin importar que agregue extensiones .pdf o .ps. Lo hice:hardcpy > example.pdf
y conless example.pdf
Shell pude ver que el encabezado del archivo era%!PS-Adobe-3.0
.Simplemente use el text2pdf , que es gratuito y de código abierto. En el enlace puede descargar la fuente o el binario precompilado para Windows, Solaris, DOS.
Puedo usarlo en AIX OS sin problema. Muy simple de compilar, simplemente guarde el text2pdf.c y Makefile en el mismo directorio y tipo
make
. (Aquí configuro la variable CC = gcc en AIX, en Linux esto no será un problema)fuente
También hay un convertidor UTF-8 a PostScript llamado
paps
.fuente
Use enscript para crear un archivo .ps, y luego ps2pdf (o ps2pdfwr) para convertir a .pdf
El siguiente script crea un archivo .pdf con márgenes izquierdo y derecho de 10 puntos, y utiliza una fuente de mensajería que tiene 7.3 puntos de ancho y 10 puntos de alto, por lo que una impresión de 132 columnas cabe en una página de 8 1/2 X 11. Use enscript para configurar su página, fuentes, etc.
fuente
LibreOffice funciona para esto. Uso:
libreoffice --convert-to "pdf" file.txt
Se llamará a la salida
file.pdf
.fuente