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

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

31
задан 19 February 2011 в 12:53

82 ответа

Вот решение, которое не связано с OpenOffice:

sudo apt-get install enscript enscript my_text_file.txt -o - | ps2pdf - output.pdf

В enscript есть больше опций. -B, чтобы опустить заголовок страницы. См. [F5] для всех параметров.

38
ответ дан 25 May 2018 в 22:55
  • 1
    Хорошая альтернатива Stefano специально для тех, кто не использует open / libreoffice, поскольку unoconv зависит от того, какой из них установлен. – Allan 19 February 2011 в 17:22
  • 2
    +1 за хороший ответ, тот, который я собирался дать, я просто решил дать один, я думаю, добавит что-то к тому, что уже здесь. – Sabacon 19 February 2011 в 17:43
  • 3
    Нет ли встроенной программы или команды bash для этого? – kashminder 28 June 2014 в 17:20
  • 4
    Благодаря! Он работает для большинства текстов, однако он работает только со старой кодировкой, например, не работает с UTF-8, поэтому вы не можете преобразовать текст, если он включает в себя символ евро (€), например ... – Antoine Dusséaux 22 February 2017 в 18:46

Вот решение, которое не связано с OpenOffice:

sudo apt-get install enscript enscript my_text_file.txt -o - | ps2pdf - output.pdf

В enscript есть больше опций. -B, чтобы опустить заголовок страницы. См. [F5] для всех параметров.

39
ответ дан 25 July 2018 в 22:27

Вот решение, которое не связано с OpenOffice:

sudo apt-get install enscript enscript my_text_file.txt -o - | ps2pdf - output.pdf

В enscript есть больше опций. -B, чтобы опустить заголовок страницы. См. [F5] для всех параметров.

39
ответ дан 26 July 2018 в 21:43

Вот решение, которое не связано с OpenOffice:

sudo apt-get install enscript enscript my_text_file.txt -o - | ps2pdf - output.pdf

В enscript есть больше опций. -B, чтобы опустить заголовок страницы. См. [F5] для всех параметров.

39
ответ дан 31 July 2018 в 11:33

Вот решение, которое не связано с OpenOffice:

sudo apt-get install enscript enscript my_text_file.txt -o - | ps2pdf - output.pdf

В enscript есть больше опций. -B, чтобы опустить заголовок страницы. См. [F5] для всех параметров.

39
ответ дан 2 August 2018 в 03:54

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

  1. sudo apt-get install enscript
  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

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

39
ответ дан 4 August 2018 в 19:57

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

  1. sudo apt-get install enscript
  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

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

39
ответ дан 6 August 2018 в 04:00

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

  1. sudo apt-get install enscript
  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

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

39
ответ дан 7 August 2018 в 21:58

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

  1. sudo apt-get install enscript
  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

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

39
ответ дан 10 August 2018 в 10:12

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

  1. sudo apt-get install enscript
  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

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

39
ответ дан 13 August 2018 в 16:34
  • 1
    Хорошая альтернатива Stefano специально для тех, кто не использует open / libreoffice, поскольку unoconv зависит от того, какой из них установлен. – Allan 19 February 2011 в 17:22
  • 2
    +1 за хороший ответ, тот, который я собирался дать, я просто решил дать один, я думаю, добавит что-то к тому, что уже здесь. – Sabacon 19 February 2011 в 17:43
  • 3
    Нет ли встроенной программы или команды bash для этого? – kashminder 28 June 2014 в 17:20
  • 4
    Благодаря! Он работает для большинства текстов, однако он работает только со старой кодировкой, например, не работает с UTF-8, поэтому вы не можете преобразовать текст, если он включает в себя символ евро (€), например ... – Antoine Dusséaux 22 February 2017 в 18:46

ПРОСТОЙ ПУТЬ ENSCRIPT

sudo apt-get install cups-pdf enscript

Затем в этом случае выполните надпись в файле с ключом -P и описанием описания принтера.

sudo apt-get install cups-pdf enscript

enscript -B -PPDF test.txt

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

sudo apt-get install unoconv

ПРОСТОЙ ЭНЦРИПТ ПУТЬ

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

sudo apt-get install unoconv

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

13
ответ дан 25 May 2018 в 22:55

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

cupsfilter foo.txt > foo.pdf

(для параметров и т. д., пожалуйста, обратитесь к страницам cupsfilter man :-))

11
ответ дан 25 May 2018 в 22:55
  • 1
    Единственный ответ здесь, который обрабатывал мои текстовые файлы UTF8 без проблем :) плюс проще сделать практически без зависимостей – Axel Advento 22 February 2017 в 19:25
  • 2
    Так просто, прекрасно. – Sigur 27 April 2018 в 16:53

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

sudo apt-get install unoconv
Домашняя страница Unoconv
6
ответ дан 25 May 2018 в 22:55

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

5
ответ дан 25 May 2018 в 22:55
  • 1
    По сравнению с другими ответами, pandoc plus texlive производит плохую производительность (не соблюдая новые строки), и слишком запутан и запутан для загрузки. Требуется больше пакетов, потянув в тексили, рекомендуемые тексты-шрифты, рубины и т. Д. Например. Я получаю pandoc: Unknown writer: pdf до тех пор, пока не установлю texlive-latex-base. Это верно. См. github.com/jgm/pandoc/issues/1155 Затем я получил сообщение об ошибке, отсутствующей в списке, а затем о url.sty и т. Д. – nealmcb 14 March 2015 в 07:54

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

paps file.txt | ps2pdf - output.pdf
4
ответ дан 25 May 2018 в 22:55
  • 1
    Добро пожаловать в Ask Ubuntu hwc! Хотя ваша почта отвечает на вопрос, всегда лучше включать больше информации. Например, почему paps является лучшей альтернативой? И если paps не установлен по умолчанию, какая команда для его установки? Вы всегда можете отредактировать свой ответ, нажав edit прямо под телом ответа. Благодаря! – Alaa Ali 1 September 2013 в 11:15

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

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

2
ответ дан 25 May 2018 в 22:55
  • 1
    Пример использования a2ps поможет. Опция --delegate, по-видимому, необходима для pdf, но справочная страница на самом деле не помогает. – nealmcb 14 March 2015 в 07:56

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

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

wktmltopdf <textfile> <pdffile>

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

2
ответ дан 25 May 2018 в 22:55
  • 1
    Это было исправлено в последней версии папок, которая позволяет выводить выбираемый pdf. См. github.com/dov/paps . – Dov Grobgeld 15 January 2018 в 13:03

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

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

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

[ f1]

, например:

 a2x -f pdf testfile.txt
1
ответ дан 25 May 2018 в 22:55

ПРОСТОЙ ЭНЦРИПТНЫЙ ПУТЬ

sudo apt-get install cups-pdf enscript

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

enscript -B -PPDF test.txt

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

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

sudo apt-get install unoconv

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

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

unoconv -f pdf test.txt

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

13
ответ дан 25 July 2018 в 22:27

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

cupsfilter foo.txt > foo.pdf

(для параметров и т. д., пожалуйста, обратитесь к страницам cupsfilter man :-))

12
ответ дан 25 July 2018 в 22:27
  • 1
    Единственный ответ здесь, который обрабатывал мои текстовые файлы UTF8 без проблем :) плюс проще сделать практически без зависимостей – Axel Advento 22 February 2017 в 19:25
  • 2
    Так просто, прекрасно. – Sigur 27 April 2018 в 16:53

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

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

2
ответ дан 25 July 2018 в 22:27
  • 1
    Пример использования a2ps поможет. Опция --delegate, по-видимому, необходима для pdf, но справочная страница на самом деле не помогает. – nealmcb 14 March 2015 в 07:56

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

paps file.txt | ps2pdf - output.pdf
4
ответ дан 25 July 2018 в 22:27
  • 1
    Добро пожаловать в Ask Ubuntu hwc! Хотя ваша почта отвечает на вопрос, всегда лучше включать больше информации. Например, почему paps является лучшей альтернативой? И если paps не установлен по умолчанию, какая команда для его установки? Вы всегда можете отредактировать свой ответ, нажав edit прямо под телом ответа. Благодаря! – Alaa Ali 1 September 2013 в 11:15

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

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

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

sudo apt-get install asciidoc

, например:

a2x -f pdf testfile.txt
1
ответ дан 25 July 2018 в 22:27
  • 1
    По сравнению с другими ответами, pandoc plus texlive производит плохую производительность (не соблюдая новые строки), и слишком запутан и запутан для загрузки. Требуется больше пакетов, потянув в тексили, рекомендуемые тексты-шрифты, рубины и т. Д. Например. Я получаю pandoc: Unknown writer: pdf до тех пор, пока не установлю texlive-latex-base. Это верно. См. [D0] github.com/jgm/pandoc/issues/1155 Затем я получил сообщение об ошибке, отсутствующей в списке, а затем о url.sty и т. Д. – nealmcb 14 March 2015 в 07:54

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

sudo apt-get install unoconv Домашняя страница Unoconv
6
ответ дан 25 July 2018 в 22:27

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

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

wktmltopdf <textfile> <pdffile>

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

2
ответ дан 25 July 2018 в 22:27
  • 1
    Это было исправлено в последней версии папок, которая позволяет выводить выбираемый pdf. См. [D0] github.com/dov/paps . – Dov Grobgeld 15 January 2018 в 13:03

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

cupsfilter foo.txt > foo.pdf

(для параметров и т. д., пожалуйста, обратитесь к страницам cupsfilter man :-))

12
ответ дан 26 July 2018 в 21:43
  • 1
    Единственный ответ здесь, который обрабатывал мои текстовые файлы UTF8 без проблем :) плюс проще сделать практически без зависимостей – Axel Advento 22 February 2017 в 19:25

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

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

2
ответ дан 26 July 2018 в 21:43
  • 1
    Пример использования a2ps поможет. Опция --delegate, по-видимому, необходима для pdf, но справочная страница на самом деле не помогает. – nealmcb 14 March 2015 в 07:56

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

paps file.txt | ps2pdf - output.pdf
4
ответ дан 26 July 2018 в 21:43

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

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

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

sudo apt-get install asciidoc

, например:

a2x -f pdf testfile.txt
5
ответ дан 26 July 2018 в 21:43
  • 1
    По сравнению с другими ответами, pandoc plus texlive производит плохую производительность (не соблюдая новые строки), и слишком запутан и запутан для загрузки. Требуется больше пакетов, потянув в тексили, рекомендуемые тексты-шрифты, рубины и т. Д. Например. Я получаю pandoc: Unknown writer: pdf до тех пор, пока не установлю texlive-latex-base. Это верно. См. [D0] github.com/jgm/pandoc/issues/1155 Затем я получил сообщение об ошибке, отсутствующей в списке, а затем о url.sty и т. Д. – nealmcb 14 March 2015 в 07:54

ПРОСТОЙ ПУТЬ ENSCRIPT

sudo apt-get install cups-pdf enscript

Затем в этом случае выполните надпись в файле с ключом -P и описанием описания принтера.

sudo apt-get install cups-pdf enscript

enscript -B -PPDF test.txt

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

sudo apt-get install unoconv

ПРОСТОЙ ЭНЦРИПТ ПУТЬ

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

sudo apt-get install unoconv

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

13
ответ дан 26 July 2018 в 21:43

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

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