Eu quero converter .txt
arquivos para .pdf
. Estou usando isso:
ls | while read ONELINE; do convert -density 400 "$ONELINE" "$(echo "$ONELINE" | sed 's/.txt/.pdf/g')"; done
Mas isso produz um "erro" - se houver uma linha muito longa no arquivo de texto, ela não será quebrada.
Entrada de texto
PDF de saída
-
Além disso, também seria ótimo se o PDF de saída pudesse conter texto, em vez de imagens de texto.
Eu tenho muitos arquivos TXT. Portanto, não queira fazer isso manualmente. Preciso de uma solução automática, como a que mencionei acima.
text-processing
pdf
imagemagick
conversion
LanceBaynes
fonte
fonte
for ONELINE in *
vez dels | while read ONELINE
. Leia isto .Respostas:
Um método é usar o CUPS e a impressora psuedo-PDF para "imprimir" o texto em um arquivo PDF.
Outra é usar o enscript para codificar para postscript e depois converter de postscript para PDF usando o arquivo ps2pdf do pacote ghostscript.
fonte
O pandoc pode fazer isso. É mais focado na conversão de texto marcado para vários formatos, mas não deve ter problemas com texto simples.
fonte
O LibreOffice / OpenOffice e a maioria dos outros processadores de texto (Abiword) podem fazer isso facilmente.
Existe um pequeno utilitário chamado
unoconv
que usa a base de código do LibreOffice para fazer conversões de formato de arquivo na linha de comando. Pode ler e escrever qualquer combinação de formatos que LibreOffice pode e faz com que seja muito fácil de fazer coisas comodoc
apdf
conversões na linha de comando. Simplestxt
parapdf
seria fácil para ele.fonte
unoconv
e nem sabia que o OO tinha APIs.unoconv --listener &
comando.Você pode imprimir texto em um arquivo PostScript usando o Vim e depois convertê-lo em PDF, desde que o Vim tenha sido compilado com o
+postscript
recurso.Para isso, você usa o
:hardcopy > {filename}
comando Por exemplo, você pode abrirexample.txt
e executarque produzirá um arquivo
example.ps
contendo todo o textoexample.txt
. O cabeçalho de cada página no arquivo PostScript conterá o nome do arquivo original e o número da página.Em seguida, você pode converter o arquivo PostScript em PDF usando o seguinte comando
o que criará
example.pdf
.Você pode fazer o mesmo diretamente de um terminal (sem interagir com o Vim) usando o seguinte comando
Isso é aberto
example.txt
no Vim e executa o comando passado para a-c
opção, que neste caso é umhardcopy
comando seguido por umq
comando quit ( ). Em seguida, ele é executadops2pdf
para produzir o arquivo final.Para mais opções, consulte os arquivos de ajuda com
:help :hardcopy
.fonte
:hardcopy
produz um arquivo PostScript, independentemente de eu adicionar extensões .pdf ou .ps. Eu fiz:hardcpy > example.pdf
e comless example.pdf
shell eu pude ver que o cabeçalho do arquivo era%!PS-Adobe-3.0
.Basta usar o text2pdf , que é gratuito e de código aberto. No link, você pode baixar o código-fonte ou o binário pré-compilado para windows, solaris, dos.
Consigo usá-lo no sistema operacional AIX sem problemas. Muito simples de compilar, basta salvar o text2pdf.c e o Makefile no mesmo diretório e tipo
make
. (aqui defino a variável CC = gcc no AIX, no Linux, isso não será um problema)fonte
Há também um conversor UTF-8 para PostScript chamado
paps
.fonte
Use enscript para criar um arquivo .ps e depois ps2pdf (ou ps2pdfwr) para converter em .pdf
O script a seguir cria um arquivo .pdf com margens esquerda e direita de 10 pt e usa uma fonte de correio com 7,3 pts de largura e 10 pts de altura, para que uma impressão de 132 cores caiba em uma página de 8 1/2 X 11. Use enscript para configurar sua página, fontes, etc.
fonte
O LibreOffice trabalha para isso. Uso:
libreoffice --convert-to "pdf" file.txt
A saída será chamada
file.pdf
.fonte