Je veux convertir des .txt
fichiers en .pdf
. J'utilise ceci:
ls | while read ONELINE; do convert -density 400 "$ONELINE" "$(echo "$ONELINE" | sed 's/.txt/.pdf/g')"; done
Mais cela produit une "erreur" - s'il y a une très longue ligne dans le fichier texte, elle n'est pas encapsulée.
Texte de saisie
PDF de sortie
-
En outre, il serait également intéressant que le fichier PDF de sortie puisse contenir du texte, au lieu d’images de texte.
J'ai beaucoup, beaucoup de fichiers TXT. Donc, ne voulez pas le faire à la main. J'ai besoin d'une solution automatique, comme celle que j'ai mentionnée ci-dessus.
text-processing
pdf
imagemagick
conversion
LanceBaynes
la source
la source
for ONELINE in *
au lieu dels | while read ONELINE
. Lisez ceci .Réponses:
Une méthode consiste à utiliser CUPS et l’imprimante psuedo PDF pour "imprimer" le texte dans un fichier PDF.
Une autre consiste à utiliser enscript pour encoder en postscript, puis à convertir PDF en postscript en utilisant le fichier ps2pdf du paquet ghostscript.
la source
pandoc peut le faire. Il est plus axé sur la conversion de texte balisé en divers formats, mais le texte en clair ne devrait pas poser de problèmes.
la source
LibreOffice / OpenOffice ainsi que la plupart des autres traitements de texte (Abiword) peuvent le faire assez facilement.
Il existe un petit utilitaire appelé
unoconv
qui utilise la base de code LibreOffice pour effectuer des conversions de format de fichier sur la ligne de commande. Il peut lire et écrire n'importe quelle combinaison de formats que LibreOffice et rend très facile la réalisation de choses commedoc
lespdf
conversions en ligne de commande. Simpletxt
àpdf
serait facile pour cela.la source
unoconv
même pas que OO avait des API.unoconv --listener &
commande.Vous pouvez imprimer du texte dans un fichier PostScript à l'aide de Vim, puis le convertir en PDF, tant que Vim a été compilé avec la
+postscript
fonctionnalité.Pour cela, vous utilisez la
:hardcopy > {filename}
commande. Par exemple, vous pouvez ouvrirexample.txt
et exécuterqui produira un fichier
example.ps
contenant tout le texte dansexample.txt
. L'en-tête de chaque page du fichier PostScript contiendra le nom de fichier d'origine et le numéro de la page.Ensuite, vous pouvez convertir le fichier PostScript en PDF en utilisant la commande suivante
qui va créer
example.pdf
.Vous pouvez faire la même chose directement depuis un terminal (sans interagir avec Vim) en utilisant la commande suivante
Cela s'ouvre
example.txt
dans Vim et exécute la commande transmise à l'-c
option, qui est dans ce cas unehardcopy
commande suivie d'uneq
commande quit ( ). Ensuite, il s'exécuteps2pdf
pour produire le fichier final.Pour plus d'options, voir les fichiers d'aide avec
:help :hardcopy
.la source
:hardcopy
produit un fichier PostScript, peu importe que j'ajoute des extensions .pdf ou .ps. Je l'ai fait:hardcpy > example.pdf
et avecless example.pdf
dans shell je pouvais voir que l'en-tête de fichier était%!PS-Adobe-3.0
.Utilisez simplement le text2pdf , qui est gratuit et opensource. Sur le lien, vous pouvez télécharger le source ou le binaire précompilé pour windows, solaris, dos.
Je peux l’utiliser dans AIX OS sans problème. Très simple à compiler, il suffit de sauvegarder le fichier text2pdf.c et le fichier Makefile dans le même répertoire et de les saisir
make
. (ici je mets la variable CC = gcc sous AIX, sous linux cela ne posera pas de problème)la source
Il existe également un convertisseur UTF-8 en PostScript appelé
paps
.la source
Utilisez enscript pour créer un fichier .ps, puis ps2pdf (ou ps2pdfwr) pour convertir en .pdf
Le script suivant crée un fichier .pdf avec des marges gauche et droite de 10 points, et utilise une police de messagerie de 7,3 points de large et de 10 points de hauteur; une impression de 132 colonnes convient donc à une page de 8 1/2 X 11. Utilisez enscript pour configurer votre page, vos polices, etc.
la source
LibreOffice fonctionne pour cela. Usage:
libreoffice --convert-to "pdf" file.txt
La sortie sera appelée
file.pdf
.la source