У меня были некоторые проблемы с немецким Umlaute (ÄÖÜ) с вышеупомянутыми решениями. Или, в случае paps, полученный PDF не имеет текстового слоя.
Лучшим решением для меня было использовать wkthmltopdf . Кажется, что это не задокументировано, но вы можете легко преобразовать текстовые файлы в файлы PDF, используя этот синтаксис:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf может обрабатывать файлы UTF-8 (в отличие от enscript). Все проблемные символы, такие как ÄÖÜß и т. Д., Будут отображаться правильно.
paps
является лучшей альтернативой, чем enscript
paps file.txt | ps2pdf - output.pdf
paps
лучшая альтернатива? И если paps
не установлен по умолчанию, что команда должна установить его? Вы всегда можете редактирование Ваш ответ путем нажатия edit
право под телом ответа. Спасибо!
– ralphtheninja
08.11.2019, 05:39
Как отмечалось выше, enscript
- это популярный способ конвертировать текст в постскриптум, который затем можно конвертировать в PDF.
Аналогичный инструмент, который существует уже давно, - a2ps
. Он имеет большое количество опций, включая размещение нескольких страниц на физической странице. Установите ap2s с помощью sudo apt-get install a2ps
.
AFAIK, enscript и a2ps выполняют одну и ту же работу, но их интерфейс отличается и YMMV с каждым из них.
Вот решение, которое не включает OpenOffice:
sudo apt-get install enscript
enscript my_text_file.txt -o - | ps2pdf - output.pdf
Есть еще варианты enscript
, например -B
, чтобы опустить заголовок страницы. См. man enscript
для всех опций.
ПРОСТОЙ СПОСОБ ЗАПИСИ
sudo apt-get install cups-pdf enscript
blockquote>Затем запустите enscript в вашем файле с помощью - Переключатель P и описание принтера PDF в этом случае.
enscript -B -PPDF test.txt
blockquote>Принтер с описанием PDF был создан при установке cups-pdf, когда вы используете enscript с этим принтером, ваш документ будет отправлен на принтер PDF и будет напечатан в файл, созданный в формате .pdf в каталоге / home / PDF, команда, приведенная выше, напечатает текстовый файл test.txt в формате PDF в каталоге PDF.
ИСПОЛЬЗОВАНИЕ UNOCONV
sudo apt-get install unoconv
blockquote>Вы можете использовать unoconv в автономном режиме, это означает, что при отсутствии слушатель OpenOffice, он запустит свой собственный:
В каталоге, где находится ваш файл, запустите:
unoconv -f pdf test.txt
blockquote> [ 1110] это создаст красивый файл 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
замените txt на ваш текстовый формат (odt - html - ....)
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]
Существует программа командной строки, которая может конвертировать все поддерживаемые форматы open / libre office, которая называется unoconv , поэтому если вам нужно выполнить пакетное преобразование с помощью скрипта, это пригодится.
sudo apt-get install unoconv