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

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

32
задан 08.11.2019, 05:37

9 ответов

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

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

wktmltopdf <textfile> <pdffile>

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

0
ответ дан 08.11.2019, 05:38
  • 1
    Это было зафиксировано в последней версии каш, которая в состоянии произвести выбираемый PDF. См.: github.com/dov/paps . – TryinHard 08.11.2019, 05:39

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

paps file.txt | ps2pdf - output.pdf
0
ответ дан 08.11.2019, 05:39
  • 1
    Добро пожаловать для Выяснения у Ubuntu hwc! В то время как Ваше сообщение действительно отвечает на вопрос, it' s всегда лучше для включения большей информации. Например, почему paps лучшая альтернатива? И если paps не установлен по умолчанию, что команда должна установить его? Вы всегда можете редактирование Ваш ответ путем нажатия edit право под телом ответа. Спасибо! – ralphtheninja 08.11.2019, 05:39

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

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

[ 114] Для установки a2x:

sudo apt-get install asciidoc

например:

 a2x -f pdf testfile.txt
0
ответ дан 08.11.2019, 05:39

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

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

0
ответ дан 08.11.2019, 05:40
  • 1
    Пример использования a2ps помог бы. - опция делегата, кажется, необходима для PDF, но страницы справочника doesn' t действительно помогают там. – James Curran 08.11.2019, 05:40

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

  1. sudo apt-get install enscript

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

  3. [ 117]

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

0
ответ дан 08.11.2019, 05:40
  • 1
    Isn' t там какая-либо встроенная программа удара или команда, чтобы сделать это? – Chris 08.11.2019, 05:40
  • 2
    Спасибо! Это работает на большинство текстов, однако enscript только работает со старым кодированием, это doesn' t работают с UTF-8, например, так Вы can' t преобразовывают текст, если он включает европейский символ (в‚ ¬), например... – Don Cheadle 08.11.2019, 05:41
  • 3
    +1 для хорошего ответа, тот, который я собирался дать, я просто, решил дать тот, который я думаю, добавит что-то к тому, что уже здесь. – thahgr 08.11.2019, 05:41
  • 4
    Хорошая альтернатива Stefano специально для любого не использующего open/libreoffice как unoconv зависит ни от одного из них устанавливаемых. – Franz D. 08.11.2019, 05:42

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

sudo apt-get install 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 install unoconv

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

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

unoconv -f pdf test.txt

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

0
ответ дан 08.11.2019, 05:41
  • 1
    enscript foo.txt -o bar.pdf работы вполне хорошо; Спасибо! – VGR 08.11.2019, 05:41

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

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

0
ответ дан 08.11.2019, 05:41
  • 1
    По сравнению с другими ответами, pandoc плюс texlive производит плохо вывод (не уважающий новые строки) и излишество и путающий для начальной загрузки. Партии больше пакетов необходимы, вытягивая в texlive, texlive-fonts-recommended, рубин, и т.д. Например, Я добираюсь pandoc: Unknown writer: pdf, пока я не устанавливаю texlive-latex-base. Это находится на надежном человеке. См. github.com/jgm/pandoc/issues/1155 Тогда, я получил ошибку об отсутствующем шрифте, тогда один о url.sty, и т.д. – Animesh Sharma 08.11.2019, 05:42

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

cupsfilter foo.txt > foo.pdf

(варианты и т. Д. См. На страницах справки cupsfilter :-)) [ 113]

0
ответ дан 08.11.2019, 05:42
  • 1
    Настолько простой, прекрасный. – Feng 08.11.2019, 05:42
  • 2
    Единственный ответ здесь, который обработал мои текстовые файлы UTF8 без проблем:) плюс более легкий, чтобы не сделать с фактически никакими зависимостями – Eduardo Sanchez-Ros 08.11.2019, 05:42

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

sudo apt-get install unoconv
0
ответ дан 08.11.2019, 05:42
  • 1
    Не, что попросила OP. – Kuncevič 08.11.2019, 05:43
  • 2
    ? OP? кто OP и почему проваливают это, когда он отвечает на вопрос? – Jaex 08.11.2019, 05:43

Теги

Похожие вопросы