Antworten:
Hier ist eine Lösung ohne OpenOffice:
sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
Es gibt mehr Möglichkeiten enscript
, um zB -B
den Seitenkopf wegzulassen. Siehe man enscript
für alle Optionen.
Ohne Installation der oben genannten Software kann man mit bereits installierter Software einfach Folgendes tun cupsfilter
:
cupsfilter foo.txt > foo.pdf
(Optionen etc. entnehmen Sie bitte den cupsfilter Manpages :-))
DER EINFACHE SCHREIBWEG
sudo apt-get install cups-pdf enscript
Führen Sie dann mit dem Schalter -P und der Druckerbeschreibung PDF in diesem Fall enscript für Ihre Datei aus.
enscript -B -PPDF test.txt
Ein Drucker mit der Beschreibung PDF wurde erstellt, als Sie cups-pdf installiert haben. Wenn Sie enscript mit diesem Drucker verwenden, wird Ihr Dokument an den PDF-Drucker gesendet und in eine Datei gedruckt, die als .pdf in Ihrem / home / PDF-Verzeichnis erstellt wurde Befehl oben druckt die Textdatei test.txt als PDF im PDF-Verzeichnis.
UNOCONV VERWENDEN
sudo apt-get install unoconv
Sie können Unoconv im Standalone-Modus verwenden. Dies bedeutet, dass in Abwesenheit eines OpenOffice-Listeners ein eigener gestartet wird:
Führen Sie in dem Verzeichnis, in dem sich Ihre Datei befindet, Folgendes aus:
unoconv -f pdf test.txt
Dadurch wird ein gut aussehendes PDF von test.txt erstellt. im aktuellen Verzeichnis
enscript foo.txt -o bar.pdf
funktioniert ganz gut; Vielen Dank!
Es gibt ein Befehlszeilenprogramm mit dem Namen unoconv , das zwischen allen unterstützten Formaten von open / libre office konvertiert werden kann. Wenn Sie eine Stapelkonvertierung mit einem Skript durchführen müssen, ist dies praktisch.
sudo apt-get install unoconv
paps
ist eine bessere Alternative als enscript
paps file.txt | ps2pdf - output.pdf
paps
eine bessere Alternative? Und wenn paps
es nicht standardmäßig installiert ist, mit welchem Befehl wird es installiert? Sie können Ihre Antwort jederzeit bearbeiten , indem Sie edit
rechts unter dem Antworttext auf klicken . Vielen Dank!
Pandoc ist ein Muss für Schweizer Messer, wenn es um die Konvertierung zwischen verschiedenen Markup-Sprachen geht. Installieren Sie zunächst den Pandoc Converter:
sudo apt-get install pandoc
Allgemeine und am häufigsten verwendete Syntax für Pandoc ist:
pandoc -f <from format> -t <to format> <source file>
Bitte beachten Sie, dass Sie zuerst das Paket texlive-latex-base installieren müssen, bevor Sie in das PDF-Format konvertieren können. Andernfalls erhalten Sie folgende Fehlermeldung:
pandoc: pdflatex not found. pdflatex is needed for pdf output.
So installieren Sie es:
sudo apt-get install texlive-latex-base
Jetzt können Sie jede Datei einfach in PDF konvertieren.
pandoc -t txt -t pdf source.txt
Ersetzen Sie txt durch Ihr Textformat (odt - html - ....)
pandoc: Unknown writer: pdf
. Dies ist auf vertrauenswürdig. Siehe github.com/jgm/pandoc/issues/1155. Dann habe ich eine Fehlermeldung über eine fehlende Schriftart erhalten, dann eine über url.sty usw.
Wie oben beschrieben, enscript
ist es eine beliebte Methode, Text in Postscript umzuwandeln, der dann weiter in PDF konvertiert werden kann.
Ein ähnliches Tool, das es schon lange gibt, ist a2ps
. Es gibt eine Vielzahl von Optionen, darunter das Platzieren mehrerer Seiten auf einer physischen Seite. Installiere ap2s mit
sudo apt-get install a2ps
.
AFAIK, enscript und a2ps machen den gleichen Job, aber ihre Schnittstelle ist unterschiedlich und YMMV mit jedem von ihnen.
Ich hatte einige Probleme mit der deutschen Umlaute (ÄÖÜ) mit den oben genannten Lösungen. Bei Seitenumbrüchen enthält die resultierende PDF-Datei keine Textebene.
Die beste Lösung für mich war die Verwendung von wkthmltopdf . Es scheint nicht dokumentiert zu sein, aber Sie können Textdateien einfach in PDF-Dateien konvertieren, indem Sie diese Syntax verwenden:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf kann UTF-8-Dateien verarbeiten (im Gegensatz zu enscript). Alle problematischen Zeichen wie ÄÖÜß usw. werden korrekt angezeigt.
Sie können auch u2ps verwenden .
Dies erzeugt sowohl ps als auch pdf. Dies akzeptiert UTF-8-Text und unterstützt die Syntaxhervorhebung durch Pango-Markups.