Можливо роздрукувати у PDF з терміналу Mac?


19

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


Який файл? простий текст?
Дуг Харріс

1
@Daniel, я повинен був бути більш чітким у своєму запитанні: Який файл вихідного файлу? - Моя відповідь нижче буде працювати для звичайних текстових файлів, але не для зображень.
Дуг Харріс

@Doug Вибачте, я фактично неправильно прочитав питання.
Даніель Бек

1
@Daniel - Те, що я дійсно прагну, - це щось більш графічно інтенсивне, скажімо, HTML-сторінки. Чи можливо це?
тамблер

1
Ваша основна проблема, ймовірно, полягає в тому, що програма перегляду залежить від формату файлу. Подумайте, який формат ви хочете, і ви отримаєте конкретні відповіді.
Даніель Бек

Відповіді:


11

lprдійсно правильна команда. Не багато в цьому, просто

lpr filename.pdf

повинен просто працювати, припускаючи, що принтер за замовчуванням встановлений правильно. Якщо ні, то, можливо, доведеться це зробити

lpr -P printername filename.pdf

Зауважте, що є сторінка man - "man lpr", якщо вам потрібно переглянути вміст. Так, демон друку CUPS, який використовує OS X, уже відомий у форматі PDF.


Зазначене рішення дає pdf-файли нульового розміру на Yosemite. Будь-які ідеї, як її вирішити?
Станіслав Мехоношин

Вибачте за дублювання. Надане рішення дає pdf нульового розміру на Yosemite, коли я намагаюся надрукувати документ .pages. RTF або txt друкуються добре. Будь-які ідеї, як це виправити?
Станіслав Мехоношин

lpr не створює файли pdf, тому я не впевнений, що я розумію коментар. Ви не можете генерувати PDF-файли за допомогою lpr.
Перрі

4
Це не дає відповіді на початкове запитання, оскільки це було як "надрукувати у pdf", а не надрукувати pdf.
Доріен

5

Я знаю, що я бачив щось у просто прихованій системній папці:

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

Я створив нову програму від AppleScript, але виклик сценарію також повинен працювати.

EDIT: насправді ви можете просто зателефонувати

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

6
Ця відповідь застаріла. Випробувано в ОС X 10.9.5.
4ae1e1

@ 4ae1e1 Ні, це не так. Просто цього "перетворення" не існує. Це символьне посилання на / usr / sbin / cupsfilter і cupsfilter все ще працюватиме таким чином навіть 10.13.6.
cde

3

1) Word-процесор з відкритим кодом, AbiWord , включає опцію перетворення між будь-якими відомими ним форматами в командному рядку, включаючи PDF, наприклад,

abiword --to=pdf filename.html

(Він також обробляє, наприклад, MS Word файли .doc, .docx, .odt, .rtf тощо, як введення, так і вихідні дані.)

Я знаю, що це доступно для Mac, хоча я ніколи не використовував його на Mac.

2) ebook-convertПрограма командного рядка від калібру (на макінтош ви повинні слідувати інструкціям тут , щоб отримати інструменти командного рядка) є корисним для багатьох форматів теж.

ebook-convert filename.html filename.pdf

Він може обробляти .rtf і .odt введення, а також безліч форматів електронних книг, таких як .epub та af.

3) PrinceXML можна використовувати в командному рядку і дуже красиво перетворить HTML в PDF.

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

5) Я можу придумати інші методи, використовуючи, наприклад, ConTeXt або pdflatex, але вони все більше і більше залучаються.


1
Примітка: AbiWord не працює на Mac, що базується на Intel
inspectorG4dget

2

Для текстових файлів із звичайним текстом ви можете використовувати enscript(поставляється разом із OS X) для створення файлу постскрипту.

$ 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

Що робити, якщо я хотів зробити щось більш графічно інтенсивне? Скажіть, перетворення HTML-сторінки в PDF з терміналу?
тамблер

Я знаю, що це старе, але PhantomJS може це зробити, і це робить це дуже добре.
Бред

2

Ви також можете використовувати pandoc з http://johnmacfarlane.net/pandoc/installing.html

За допомогою цієї команди ви перетворили файл html у pdf:

pandoc -o output.pdf input.html

Але зауважте, що pandoc використовує LaTeX для перетворення, тому у вас повинна бути встановлена ​​система LaTeX ( http://www.tug.org/mactex/ ).

Pandoc також може конвертувати в інші формати, такі як .odt, .docx та .epub


1

Спочатку отримайте назву принтера

lpstat -p

Потім використовуйте назву принтера (Canon1234 - наприклад,)

lp -d Canon1234 PathToDocument.pdf

Op прагне надрукувати довільний файл у документі pdf, а не друкувати pdf на справжньому принтері.
cde

0

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


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

alt текст


Створення Automator додаток , яке автоматично отримує файли і папки в якості вхідних даних , при цьому дії , як тільки один. Збережіть, наприклад, як Save as PDF.

Відкрийте діалогове вікно " Інформація про інформацію" своєї програми та поставте прапорець " Відкрити" в 32-бітному режимі також тут. Двічі клацніть його один раз, щоб переконатися, що Launch Services знає програму.


Ви можете використовувати цю програму з командного рядка так:

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

Звичайно, ви можете загорнути це в приємний AppleScript .scpt, bashфункцію, скрипт оболонки чи що ні.


Це рішення насправді досить гнучко. Мені вдалося конвертувати текстові файли та HTML-файли, і дія Автоматизатора також дещо настроюється.


0

Насправді це набагато простіше, ніж це. Ви можете просто набрати в командному рядку, open *.pdfі « Попередній перегляд » відкриється з усіма файлами. Дивно, хоча якщо ви введете, open *.pdf */*.pdfви отримаєте два вікна. У кожному випадку вам потрібно зайти в бічну панель, виберіть один із коробкових форматів (якщо файлів багато, він відкривається за замовчуванням у форматі списку, який не працює), введіть CMD- Aвиберіть усі, а потім скористайтесь командою print- команда вибраних сторінок, щоб отримати їх усі.


0

ви можете додати драйвер принтера pdf із використання pdf printer

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

  • відкриті принтери та сканери

  • натисніть +кнопку

  • у списку принтерів виберіть pdf printer

  • зачекайте секунду

  • потім натисніть кнопку Додати

  • встановити pdf printerяк принтер за замовчуванням, а потім закрити ...

відкрити термінал, потім виконати команду для друку файлу

lp /path/to/your/file/to/print.txt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.