Как я могу конвертировать документ OpenOffice в PDF из командной строки Linux?

У меня есть студенты, которые, когда их просят PDF, иногда дают мне документ OpenOffice или электронную таблицу. file(1) может идентифицировать эти документы, но я не смог обнаружить, как их преобразовать в PDF, используя командную строку. (Страница man для ooffice(1) перечисляет возможность печати документа, но не для преобразования в PDF.) Google бесполезен, за исключением того, что я испытываю беспокойство, что это невозможно сделать без отличного скрипта на языке I Не знаю против API, документацию которого я не могу найти.

Может ли кто-нибудь помочь мне решить проблему конвертации OpenDocument в PDF, используя только командную строку Unix?

  • Поиск в каталоге в командной строке Windows показывает неправильный вывод
  • Запуск `exec` с встроенным Bash
  • Как настроить ConEmu для запуска cmd.exe в качестве администратора из интеграции Explorer?
  • Сделать pendrive загрузочным через командную строку Ubuntu
  • Почему «cd ..» работает в командной строке Windows?
  • В Firefox есть ли копия опции Google Chromes -app?
  • Есть ли эффективный способ копирования текста из PDF без разрывов строк?
  • Копирование только текста, а не формул, в OpenOffice Calc
  • Как я могу получить пропускную способность интерфейса в любой момент времени из командной строки Linux?
  • Как преобразовать многостраничный файл PDF в PNG-файлы с одним PNG-файлом на страницу документа PDF?
  • Преобразование djvu в pdf и сохранение оглавления, как это возможно?
  • Ограничить печать копий в PDF-файле
  • 4 Solutions collect form web for “Как я могу конвертировать документ OpenOffice в PDF из командной строки Linux?”

    Я думаю, что самым простым способом было бы установить принтер PDF на вашем поле, а затем просто:

    ooffice -pt pdfprinter studentwhodoesntfollowdirectionswell.odt

    Изменить: просто нашел сообщение на форумах Ubuntu с кем-то, кто пришел к тому же решению, которое я предложил (с удобными инструкциями денди). Печать в pdf из командной строки [SOLVED]

    Редактирование 2: я просто столкнулся с unoconv который является скриптом python, который использует привязки UNO OOo. Поэтому я просто хотел обновить этот ответ

    Я делаю это с помощью cups-pdf . Вам нужно будет установить OpenOffice, и вы должны запустить ooffice в режиме безглавых, чтобы приложение не запускало графический интерфейс.

    PDF-принтер обычно находится в репозиториях, поэтому просто sudo apt-get install cups-pdf или yum install cups-pdf .

    Затем вам нужно будет установить принтер. Если вы хотите, вы можете установить принтер через командную строку .

    Если вы устанавливаете принтер через графический интерфейс (на Ubuntu), это проще, чем System -> Administration -> Printing . Нажмите стрелку и выберите « Новый принтер» :

    Alt text

    Пройдите мастер и обратите внимание на то, что вы называете своим принтером, вам понадобится его из командной строки. Как вы можете видеть, я использовал cups-pdf:

    Alt text

    Закончите мастер, и вы готовы к конверсии. Откройте терминал и запустите:

     ooffice -headless -nologo -pt cups-pdf doc.odt 

    В вашем домашнем каталоге у вас будет папка PDF. Внутри будет ваш преобразованный документ.

    $ Oowriter –convert-to pdf –invisible name.odt

    Это все. Если ваш CLI является графическим, вы можете опустить параметр «–invisible». Проверено на opensuse 12.3.

    С libreoffice, который поставляется с CentOS 7 (4.1.4):

     soffice --headless --convert-to pdf file.odt soffice --headless --convert-to doc file.odt soffice --headless --convert-to html file.odt 

    Soffice и libreoffice – это один и тот же двоичный файл, который понравился друг другу. Oowriter – это скрипт, который вызывает libreoffice –writer. Таким образом, вышеупомянутое должно работать на все производные функции staroffice (libreoffice, openoffice).

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

    Давайте будем гением компьютера.