Эквивалент командной строки для печати файла .docx из искателя Mac OS X - PullRequest
2 голосов
/ 16 января 2012

У меня есть приложение для печати файла MS Word .docx из командной строки. На втором плане - сервер Snow Leopard с CUPS-PDF в качестве принтера по умолчанию. Если в поисковике я нажимаю один раз на файл .docx, чтобы выбрать его, а затем выбираю печать в меню файла, он открывает MS Word (2011 установлен) и печатает файл в буфер (через CUPS) в формате PDF. Отлично! Что теперь эквивалентно команде BASH ???

Я пробовал lpr, который работает только с текстовыми файлами. Я пробовал ОТКРЫТЬ, который ОТКРЫВАЕТ MS Word, но я не вижу опцию «печать» для открытия. Я попробовал обычный эквивалент MS Office (OpenOffice и LibreOffice), которые оба работают, но сгенерированный макет PDF настолько далек от сгенерированного Word, что это позорно неприемлемо. Я попытался с помощью osascript = AppleScript =, который работает, но это пятнистый - он не всегда срабатывает.

Моя задача заключается в том, что я создаю .docx вне слова из шаблона с помощью программы PHP, и мне просто нужно преобразовать его в PDF, сохранив все форматирование.

Ответы [ 4 ]

4 голосов
/ 19 апреля 2012

Взгляните на launch, доступно здесь: http://sabi.net/nriley/software/, также легко установить с помощью homebrew или macports.

Это похоже на open, но добавляет некоторые дополнительные функции, включая

-p       Ask application(s) to print document(s).
3 голосов
/ 16 января 2012

Если у вас установлено действие Automator "Convert Format of Word Document", вы можете написать рабочий процесс Automator, а затем попытаться использовать инструмент командной строки automator (см. man automator).

Дополнительная информация:

Другим вариантом может быть использование PDFwriter for Mac (размещено на sourceforge) или CUPS-PDF for Mac OS X (с помощью codepoetry), а затем использовать командную строку ...

 # cf. http://www.mac-forums.com/forums/os-x-apps-games/212770-how-print-files-preview-pdf-command-line.html
lpstat -v | awk '{ print $3; }'
lpr -P <printer name> /path/to/file
1 голос
/ 26 февраля 2015

ОП решение, извлеченное из вопроса:

с использованием запуска и PDFwriter с Ruby Script ниже.

require 'rb-fsevent'

paths = ['/private/var/hosts/toPDF']
options = {:latency => 5, :no_defer => true }

fsevent = FSEvent.new
fsevent.watch paths, options do |directories|
  Dir['/private/var/hosts/toPDF/*.docx'].each do |f|
    puts 'processing '+f
    system( "launch -p "+f)
  end

  sleep 30
  system("killall -u tj 'Microsoft Word'")
  system("killall -u tj 'Microsoft Error Reporting'")
end
fsevent.run
0 голосов
/ 21 января 2012

Другой способ преобразовать документ MS Word .docx в файл PDF в Mac OS X - использовать команду qlmanage, поставляемую с Mac OS X.

qlmanage может использоваться для преобразования документа .docx в каталог, который содержит файл Preview.html, файл PreviewProperties.plist и, возможно, некоторые выгруженные файлы вложений. После небольшой настройки Preview.html файл PDF можно создать с помощью wkhtmltopdf (или wkpdf или prince).

Для получения дополнительной информации см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...