Ответы:
Вот решение, которое не включает OpenOffice:
sudo apt-get install enscript
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. в текущем каталоге
enscript foo.txt -o bar.pdf
работает довольно хорошо; Благодарность!
Существует программа командной строки, которая может конвертировать все поддерживаемые форматы open / libre office, называемая unoconv, поэтому, если вам нужно выполнить пакетное преобразование с помощью скрипта, это пригодится.
sudo apt-get install unoconv
paps
это лучшая альтернатива, чем enscript
paps file.txt | ps2pdf - output.pdf
paps
лучшая альтернатива? А если paps
не установлен по умолчанию, какая команда для его установки? Вы всегда можете отредактировать свой ответ, нажав edit
справа внизу тела ответа. Благодарность!
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 - ....)
pandoc: Unknown writer: pdf
пока не установлю texlive-latex-base. Это на верном. См. Github.com/jgm/pandoc/issues/1155 Затем я получил ошибку об отсутствующем шрифте, затем об url.sty и т. Д.
Как указано выше, enscript
это популярный способ преобразования текста в postscript, который затем можно преобразовать в PDF.
Аналогичный инструмент, который существует уже давно, есть a2ps
. Он имеет большое количество опций, включая размещение нескольких страниц на физической странице. Установите ap2s с помощью
sudo apt-get install a2ps
.
AFAIK, enscript и a2ps выполняют одну и ту же работу, но их интерфейс отличается и YMMV с каждым из них.
У меня были некоторые проблемы с немецким Umlaute (ÄÖÜ) с вышеупомянутыми решениями. Или, в случае paps, полученный PDF не имеет текстового слоя.
Лучшим решением для меня было использовать wkthmltopdf . Кажется, это не документировано, но вы можете легко конвертировать текстовые файлы в PDF-файлы, используя этот синтаксис:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf может обрабатывать файлы UTF-8 (в отличие от enscript). Все проблемные символы, такие как ÄÖÜß и т. Д., Будут отображаться правильно.
Вы также можете использовать u2ps .
Это генерирует как PS и PDF. Это принимает текст UTF-8 и поддерживает подсветку синтаксиса с помощью разметки Pango.