Dans gedit, l’impression d’un fichier donne une option d’impression sur fichier où le fichier peut être enregistré au format PDF. Comment puis-je faire la même chose depuis la ligne de commande?
Voici une solution qui n'implique pas OpenOffice:
Sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
Il y a plus d'options pour enscript
, par exemple. -B
pour omettre l'en-tête de page. Voir man enscript
pour toutes les options.
sans installer aucun des logiciels mentionnés ci-dessus, on peut simplement faire ce qui suit avec déjà installé cupsfilter
:
cupsfilter foo.txt > foo.pdf
(pour les options, veuillez vous reporter aux pages de manuel de cupsfilter :-))
LA MANIÈRE D'ENREGISTREMENT SIMPLE
Sudo apt-get installe cups-pdf enscript
Ensuite, exécutez enscript sur votre fichier avec le commutateur -P et la description de l'imprimante PDF dans ce cas.
enscript -B -PPDF test.txt
Une imprimante avec la description PDF a été créée lors de l’installation de cups-pdf. Lorsque vous utilisez enscript avec cette imprimante, votre document est envoyé à l’imprimante PDF et est imprimé dans un fichier créé. En tant que .pdf dans votre répertoire/home/PDF, la commande ci-dessus imprimera le fichier texte test.txt en tant que fichier PDF dans le répertoire PDF.
TILISER UNOCONV
Sudo apt-get install unoconv
Vous pouvez utiliser unoconv en mode autonome, cela signifie qu'en l'absence d'un auditeur OpenOffice, il lancera son propre:
Dans le répertoire où se trouve votre fichier, exécutez:
unoconv -f pdf test.txt
cela créera un joli fichier pdf de test.txt. dans le répertoire en cours
Il existe un programme en ligne de commande capable de convertir entre tous les formats Open/Libre Office pris en charge, appelé noconv . Si vous avez besoin de convertir par lots avec un script, il vous sera utile.
Sudo apt-get install unoconv
Pandoc est un outil indispensable pour la conversion de plusieurs langages de balisage. Pour commencer, installez le convertisseur pandoc:
Sudo apt-get install pandoc
La syntaxe générale et la plus utilisée pour pandoc est la suivante:
pandoc -f <from format> -t <to format> <source file>
Veuillez noter que vous devez d'abord installer le package texlive-latex-base avant de pouvoir convertir au format PDF. Sinon, vous obtiendrez une erreur suivante:
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Pour l'installer:
Sudo apt-get install texlive-latex-base
Maintenant, vous pouvez facilement convertir n'importe quel fichier en pdf.
pandoc -t txt -t pdf source.txt
remplacez txt par votre format texte (odt - html - ....)
paps
est une meilleure alternative que enscript
paps file.txt | ps2pdf - output.pdf
J'ai eu quelques problèmes avec l'allemand Umlaute (ÄÖÜ) avec les solutions mentionnées ci-dessus. Ou, dans le cas des copies, le PDF résultant ne comporte pas de calque de texte.
La meilleure solution pour moi consistait à utiliser wkthmltopdf . Cela semble ne pas être documenté, mais vous pouvez facilement convertir des fichiers texte en fichiers PDF en utilisant cette syntaxe:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf peut gérer les fichiers UTF-8 (contrairement à Enscript). Tous les caractères problématiques comme ÄÖÜß etc. seront affichés correctement.
Comme indiqué ci-dessus, enscript
est un moyen courant de convertir du texte en postscript, qui peut ensuite être converti au format PDF.
Un outil similaire, utilisé depuis longtemps, est a2ps
. Il comporte un grand nombre d'options, notamment la mise en place de plusieurs pages sur une page physique. Installez ap2s avec Sudo apt-get install a2ps
.
Autant que je sache, enscript et a2ps font le même travail, mais leur interface est différente et YMMV pour chacun d’eux.
Vous pouvez utiliser a2x
a2x - convertit un fichier texte Asciidoc en PDF, XHTML, Aide HTML, ODF, page de manuel ou texte brut
Pour installer a2x:
Sudo apt-get install asciidoc
par exemple:
a2x -f pdf testfile.txt