16

Можно ли взять файл и распечатать его в PDF, используя только команды терминала? Я предполагаю, что вы каким-то образом воспользуетесь командой lpr, но мне еще предстоит найти правильный синтаксис.

9 ответов9

10

lpr действительно правильная команда. Там не так много, просто

lpr filename.pdf

должен просто работать, предполагая, что принтер по умолчанию настроен правильно. Если нет, возможно, вам придется сделать

lpr -P printername filename.pdf

Обратите внимание, что есть man-страница - "man lpr", если вам нужно увидеть содержимое. Да, демон печати CUPS, который использует OS X, уже поддерживает PDF.

4

Я знаю, что видел что-то в просто скрытой системной папке:

/Library/Scripts/Printing Scripts/Convert To PDF.scpt

Я создал новое приложение из AppleScript, но вызов сценария напрямую должен работать.

РЕДАКТИРОВАТЬ: на самом деле вы просто можете позвонить

/System/Library/Printers/Libraries/convert -f file.rtf -o file.pdf -j "application/pdf"
3

1) Текстовый процессор с открытым исходным кодом, AbiWord, включает опцию преобразования между любыми форматами, которые он знает в командной строке, включая PDF, например,

abiword --to=pdf filename.html

(Он также обрабатывает, например, файлы MS Word .doc, .docx, .odt, .rtf и т.д., Как для ввода, так и для вывода.)

Я знаю, что это доступно для Mac, хотя я никогда не использовал его на Mac.

2) Программа командной строки ebook-convert от калибра (на Mac вы должны следовать инструкциям здесь, чтобы получить инструменты командной строки) также полезна для многих форматов.

ebook-convert filename.html filename.pdf

Он может обрабатывать ввод .rtf и .odt, а также множество форматов электронных книг, таких как .epub и .mobi.

3) PrinceXML можно использовать в командной строке и очень красиво конвертирует HTML в PDF.

4) Есть wkhtmltopdf, который использует движок webkit для преобразования HTML в PDF из командной строки. Я никогда не пробовал это.

5) Я могу думать о других методах, использующих, например, ConTeXt или pdflatex, но они становятся все более и более вовлеченными.

2

Вы также можете использовать pandoc с http://johnmacfarlane.net/pandoc/install.html

С помощью этой команды вы конвертируете html-файл в pdf:

pandoc -o output.pdf input.html

Но обратите внимание, что pandoc использует LaTeX для конвертации, поэтому вам необходимо установить систему LaTeX (http://www.tug.org/mactex/).

Pandoc также может конвертировать в другие форматы, такие как .odt, .docx и .epub.

2

Для простых текстовых файлов вы можете использовать enscript (поставляется с OS X) для генерации файла postscript.

$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps

Приложение предварительного просмотра OS X можно открыть (и конвертировать) в PDF, или вы можете установить ps2pdf (я установил его через macports) и конвертировать в командной строке.

$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf
0

Вы можете добавить драйвер принтера PDF с использованием pdf printer

  • сначала установите pdf printer из магазина
  • запустить pdf printer
  • перейти к системным настройкам

  • открытые принтеры и сканеры

  • нажмите кнопку +

  • в списке принтеров выберите pdf printer

  • подождите секунду

  • затем нажмите добавить

  • установить pdf printer качестве принтера по умолчанию, а затем закрыть ...

открыть терминал, затем выполнить команду для печати файла

lp /path/to/your/file/to/print.txt
0

Для локальных файлов веб-страниц вы можете попробовать использовать URL-адреса для загрузки в качестве действия PDF Automator. Загрузить и установить.


Мне пришлось запустить Automator в 32-битном режиме:

альтернативный текст


Создание приложения Automator , который автоматически принимает файлы и папки в качестве входных данных, при этом действии , как только один. Сохранить, например, как Save as PDF .

Откройте диалоговое окно Get Info вашего приложения и отметьте здесь также Open в 32-битном режиме . Дважды щелкните по нему один раз, чтобы убедиться, что Launch Services знает приложение.


Вы можете использовать это приложение из командной строки следующим образом:

osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'

Конечно, вы можете обернуть это в хороший AppleScript .scpt , функцию bash , скрипт оболочки или что-то еще.


Это решение на самом деле довольно гибкое. Мне удалось преобразовать текстовые файлы и файлы HTML, и действие Automator также несколько настраивается.

0

Сначала получите имя принтера

lpstat -p

Затем используйте имя принтера (Canon1234 - например)

lp -d Canon1234 PathToDocument.pdf
0

На самом деле это намного проще, чем это. Вы можете просто набрать в командной строке open *.pdf и Preview откроет все файлы там. Как ни странно, если вы наберете open *.pdf */*.pdf вы получите два окна. Затем в каждом из них вам нужно перейти в боковую панель, выбрать один из форматов квадратной формы (если много файлов, которые он открывает по умолчанию в формате списка, который не работает), наберите CMD - A, чтобы выбрать все, затем используйте команда print-selected-pages, чтобы получить их все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .