Как напечатать обычный файл в pdf из командной строки

В gedit печать файла дает возможность печати в файл, где файл может быть сохранен в формате PDF. Как я могу сделать то же самое из командной строки?

9 ответов

Решение

Вот решение, которое не включает OpenOffice:

  1. sudo apt-get install enscript

  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

Есть больше вариантов enscriptнапример, -B опустить заголовок страницы. Увидеть man enscript для всех вариантов.

Без установки какого-либо из вышеперечисленных программ можно просто сделать следующее с уже установленным cupsfilter:

cupsfilter foo.txt > foo.pdf

(варианты и т. д. см. на страницах справки cupsfilter:-))

ПРОСТОЙ СПОСОБ ЗАПИСИ

sudo apt-get установить cups-pdf enscript

Затем запустите enscript для вашего файла с ключом -P и описанием принтера PDF в этом случае.

enscript -B -PPDF test.txt

Принтер с описанием PDF был создан при установке cups-pdf, когда вы используете enscript с этим принтером, ваш документ будет отправлен на принтер PDF и будет напечатан в файл, созданный в формате.pdf в каталоге /home/PDF, Команда выше напечатает текстовый файл test.txt в формате PDF в каталоге PDF.

ИСПОЛЬЗОВАНИЕ UNOCONV

sudo apt-get установить unoconv

Вы можете использовать unoconv в автономном режиме, это означает, что при отсутствии прослушивателя OpenOffice он запустит свой собственный:

В каталоге, где находится ваш файл, запустите:

unoconv -f pdf test.txt

это создаст красивый файл pdf файла test.txt. в текущем каталоге

Pandoc - обязательный инструмент для швейцарских ножей, когда дело доходит до конвертации между различными языками разметки. Чтобы начать, сначала установите конвертер pandoc:

sudo apt-get install pandoc

Общий и наиболее часто используемый синтаксис для pandoc:

pandoc -f <from format> -t <to format> <source file>

Обратите внимание, что вам нужно сначала установить пакет texlive-latex-base, прежде чем вы сможете конвертировать его в формат PDF. В противном случае вы получите следующую ошибку:

pandoc: pdflatex not found. pdflatex is needed for pdf output.

Чтобы установить это:

sudo apt-get install texlive-latex-base

Теперь вы можете легко конвертировать любой файл в PDF.

pandoc -t txt -t pdf source.txt

замените текст на ваш текстовый формат (odt - html - ....)

Существует программа командной строки, которая может конвертировать все поддерживаемые форматы open/libre office, называемая unoconv, поэтому, если вам нужно выполнить пакетное преобразование с помощью скрипта, это пригодится.

sudo apt-get install unoconv

paps это лучшая альтернатива, чем enscript

paps file.txt | ps2pdf - output.pdf

У меня были некоторые проблемы с немецким Umlaute (ÄÖÜ) с вышеупомянутыми решениями. Или, в случае paps, полученный PDF не имеет текстового слоя.

Лучшим решением для меня было использовать http://wkhtmltopdf.org/. Кажется, это не документировано, но вы можете легко конвертировать текстовые файлы в PDF-файлы, используя этот синтаксис:

wktmltopdf <textfile> <pdffile>

wkhtmltopdf может обрабатывать файлы UTF-8 (в отличие от enscript). Все проблемные символы, такие как ÄÖÜß и т. Д., Будут отображаться правильно.

Как написано выше, enscript популярный способ конвертировать текст в постскриптум, который затем можно конвертировать в PDF.
Подобный инструмент, который существует уже давно, a2ps, Он имеет большое количество опций, включая размещение нескольких страниц на физической странице. Установите ap2s с sudo apt-get install a2ps,

AFAIK, enscript и a2ps выполняют одну и ту же работу, но их интерфейс отличается и YMMV с каждым из них.

Вы можете использовать a2x

a2x - конвертирует текстовый файл Asciidoc в PDF, XHTML, HTML Help, ODF, manpage или обычный текст

Чтобы установить a2x:

sudo apt-get install asciidoc

например:

 a2x -f pdf testfile.txt

Вы также можете использовать u2ps.

Это генерирует как PS и PDF. Это принимает текст UTF-8 и поддерживает подсветку синтаксиса с помощью разметки Pango.

Другие вопросы по тегам