web-dev-qa-db-fra.com

Comment imprimer un fichier normal en pdf à partir de la ligne de commande

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?

33
skypemesm

Voici une solution qui n'implique pas OpenOffice:

  1. Sudo apt-get install enscript

  2. 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.

40
Stefano Palazzo

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 :-))

19
Abel Tom

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

13
Sabacon

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
6
Allan

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 - ....)

5
Maythux

paps est une meilleure alternative que enscript

paps file.txt | ps2pdf - output.pdf
5
hwc

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.

2
Zarathustra

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.

2
dirkjot

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
1
Maythux