Відповіді:
Ось рішення, яке не передбачає 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 install cups-pdf enccript
Потім запустіть власні записи у вашому файлі за допомогою перемикача -P та опису принтера в цьому випадку.
протокол -B -PPDF test.txt
Принтер з описом PDF був створений при встановленні чашок-pdf, коли ви використовуєте енскрипт із цим принтером, ваш документ буде надісланий на принтер PDF і буде надрукований у файл, створений у форматі .pdf у вашому / домашньому / PDF-каталозі, команда вище буде надрукувати текстовий файл test.txt у вигляді PDF у каталозі PDF.
ВИКОРИСТАННЯ UNOCONV
sudo apt-get install unoconv
Ви можете використовувати unoconv в автономному режимі, це означає, що за відсутності слухача OpenOffice він запустить свій власний:
У каталозі, де знаходиться ваш файл, запустіть:
unoconv -f pdf test.txt
це створить приємний вигляд PDF-файла test.txt. у поточному каталозі
enscript foo.txt -o bar.pdf
працює досить добре; Спасибі!
Існує програма командного рядка, яка може конвертувати між усіма форматами, що підтримуються відкритим / вільним офісом під назвою 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
замініть txt текстовим форматом (odt - html - ....)
pandoc: Unknown writer: pdf
поки не встановлю texlive-latex-base. Це по-справжньому. Дивіться github.com/jgm/pandoc/isissue/1155 Тоді я отримав помилку про відсутній шрифт, потім про url.sty тощо
Як зазначено вище, enscript
це популярний спосіб перетворення тексту в постскрипт, який потім може бути перетворений у PDF.
Подібний інструмент, який існує вже давно, є a2ps
. Він має велику кількість варіантів, включаючи розміщення декількох сторінок на фізичній сторінці. Встановіть ap2s за допомогою
sudo apt-get install a2ps
.
AFAIK, enccript і a2ps виконують ту саму роботу, але їх інтерфейс різний і YMMV з кожним із них.
У мене були проблеми з німецьким Umlaute (ÖÖÜ) з вищезазначеними рішеннями. Або, у випадку з папками, отриманий PDF не має текстового шару.
Найкращим рішенням для мене було використання wkthmltopdf . Здається, це не документально, але ви можете легко конвертувати текстові файли у PDF-файли, використовуючи цей синтаксис:
wktmltopdf <textfile> <pdffile>
wkhtmltopdf може обробляти файли UTF-8 (на відміну від протоколу). Усі проблемні символи, наприклад ÄÖÜß тощо, будуть відображені правильно.
Ви також можете використовувати u2ps .
Це генерує як ps, так і pdf. Це приймає текст UTF-8 та підтримує підсвічування синтаксису через розмітки Pango.