Кто-нибудь знает, как конвертировать ODT
файл (LibreOffice) в PDF
?
libreoffice
pdf
openoffice.org
SoftTimur
источник
источник
Ответы:
Просто откройте документ в libre office и выберите « Экспорт в PDF ...» :
Для решения командной строки есть unoconv, который преобразует файлы из командной строки:
Примечание: только начиная с Ubuntu 11.10 unoconv зависит от Libre Office. Предыдущие версии unoconv (из Ubuntu <= 11.04) зависят от Open Office (но он также будет работать с Libre Office).
источник
unoconv
, это здорово!unoconv: Cannot find a suitable office installation on your system.
, поэтому оно непригодно для использования :(Вы также можете использовать командную строку
libreoffice
для вашей цели. Это дает вам преимущество пакетного преобразования. Но отдельные файлы также возможны. Этот пример преобразует все файлы ODT в текущем каталоге в PDF:Получите больше информации о параметрах командной строки с:
источник
--env:UserInstallation=file:///path/to/some/directory
.unoconv
. Например, яunoconv -f pdf *.ppt
успешно использовал эту линию .Вот еще несколько подробностей о методе "не-GUI".
Вы можете использовать этот метод не только для преобразования файлов ODT в PDF. Он также будет работать для файлов MS Word DOCX (он будет работать так же, как LibreOffice способен обрабатывать определенный ODT), и, в общем, для всех типов файлов, которые LibreOffice может открыть.
Я не думаю, что есть двоичный файл, названный
libreoffice
как один из других предложенных ответов. Однако естьsoffice(.bin)
двоичный файл, который можно использовать для запуска LibreOffice из командной строки. Это обычно находится в/usr/lib/libreoffice/program/
; и очень часто символическая ссылка/usr/bin/soffice
указывает на это место.Тогда в большинстве случаев параметры
--headless --convert-to pdf
недостаточны. Это должно быть:Обязательно следуйте именно этой заглавной!
Затем команда не будет работать, если в вашей системе уже запущен экземпляр GUI LibreOffice. Это вызвано ошибкой № 37531, известной с 2011 года . Добавьте этот дополнительный параметр к вашей команде:
Это создаст новую отдельную среду, которая может использоваться вторым, безголовым экземпляром LO без вмешательства в возможно работающий первый экземпляр GUI LO, запущенный тем же пользователем.
Кроме того, убедитесь, что указанный
--outdir /pdf
вами объект существует и у вас есть разрешение на запись в него. Или, скорее, используйте другой выходной каталог. Даже если это только для первого раунда тестирования и отладки:Следовательно:
Это работает для меня на Mac OS X Yosemite 10.10.5 с LibreOffice v5.1.2.2 (используя мой конкретный путь для двоичного файла,
soffice
который в любом случае будет отличаться в Ubuntu ...). Он также работает на Debian Jessie 8.0 (с использованием пути/usr/lib/libreoffice/program/soffice
). Извините, сейчас не могу проверить это на Ubuntu ....Если все это не работает, при попытке обработать DOCX:
Это может быть проблема с конкретным файлом DOCX, с которым вы пытаетесь выполнить команду ... Так что сначала создайте очень простой документ DOCX. Для этого используйте сам LibreOffice. Напишите "Привет, мир!" на пустой странице. Сохраните это как DOCX.
Попробуйте еще раз. Работает ли он с простым DOCX?
Если это снова не работает, повторите шаг 7, но на этот раз сохраните как ODT.
Повторите шаг 8, но на этот раз обязательно укажите ODT.
Последнее: используйте полный путь к
soffice
, кsoffice.bin
и кlibreoffice
и запускайте каждый с-h
параметром:Сравните их с командной строкой, которую вы использовали:
Для сравнения, мой собственный вывод (Mac OS X) здесь:
Добавьте еще один аргумент в командную строку, чтобы принудительно применить фильтр ввода при
soffice
открытии файла DOCX:или же
источник
Наутилус Скрипт
Этот скрипт использует libreoffice для преобразования файлов, совместимых с LibreOffice, в PDF.
Инструкции по установке смотрите здесь: Как я могу установить скрипт Nautilus?
источник
Примечание. Я решил удалить свой ответ из этого вопроса и опубликовать его модифицированную версию здесь, когда понял, что
unoconv
он плохо работает сpsw
файлами и не преобразует их успешно в другие форматы. Там также могут быть проблемы сdocx
иxlsx
форматами.Тем не менее,
Libreoffice
полностью поддерживает многие типы файлов; Полная документация доступна на официальном сайте, где указаны действительные форматы ввода и вывода.Вы можете использовать
libreoffice
утилиту преобразования командной строки или unoconv , которая доступна в репозиториях. Я считаю,unoconv
что это очень полезно, и это, вероятно, то, что вы хотите. Несмотря на то, что Takkat кратко упомянулunoconv
, я подумал, что было бы полезно дать некоторые дополнительные сведения и одну строку в пакетном режиме.Используя терминал, вы можете
cd
перейти в каталог, содержащий ваши файлы, а затем выполнить пакетное преобразование всех из них, запустив одну строку:(Этот однострочный текст является модификацией моего скрипта перевода, представленного в этом ответе .)
Если позже вы хотите использовать любые другие форматы файлов, просто подставляем
odt
иpdf
для любых других поддерживаемых форматов ввода и вывода. Вы можете найти поддерживаемые форматы для типа файла, введяunoconv -f odt --show
. Для преобразования одного файла используйте, напримерunoconv -f pdf myfile.odt
,.Дополнительную информацию о программе и ее возможностях можно найти, войдя в терминал
man unoconv
или перейдя на веб-страницы Ubuntu .источник
Еще один скрипт наутилуса
Этот очень простой и легкий скрипт Nautilus использует
unoconv
для преобразования выбранных файлов, совместимых с LibreOffice, в формат PDF:источник
Я добавляю новый ответ, потому что в последнее время Pandoc открыла серию новых путей преобразования, получая возможность читать файлы ODT.
Когда Pandoc читает в формате файла, он конвертирует его во внутренний формат, «нативный» (который является формой JSON).
Из своей исходной формы он может затем экспортировать документ в целый ряд других форматов. Не только PDF, но и DocBook, HTML, EPUB, DOCX, ASCIIdoc, DokuWiki, MediaWiki и что-нет ...
Поскольку здесь желаемый формат вывода - PDF, у нас есть другой выбор различных путей, предоставляемых тем, что Pandoc называет pdf-движком . Вот список доступных на данный момент движков PDF (действительно для Pandoc v2.7.2 и новее - предыдущие версии могут поддерживать только меньший список):
pdflatex: для этого требуется установить LaTeX в дополнение к Pandoc.
xelatex: для этого требуется установить XeLaTeX в дополнение к Pandoc (также доступен в качестве дополнительного пакета для общих дистрибутивов TeX ).
контекст: для этого требуется установить ConTeXt в дополнение к Pandoc; ConTeXt доступен в качестве дополнительного пакета для большинства распространенных дистрибутивов TeX ).
lualatex: для этого требуется установить LuaTeX в дополнение к Pandoc (также доступен в качестве дополнительного пакета для общих дистрибутивов TeX ).
pdfroff: для этого требуется установить GNU Roff в дополнение к Pandoc.
wkhtml2pdf: для этого требуется установить wkhtmltopdf в дополнение к Pandoc.
Принц: Для этого требуется, чтобы PrinceXML был установлен в дополнение к Pandoc.
weasyprint: для этого требуется установить weasyprint в дополнение к Pandoc.
В Pandoc теперь интегрированы еще несколько новых движков PDF, которые я сам еще не использовал и которые сейчас не могу описать более подробно: tectonic и latexmk .
ПРЕДУПРЕЖДЕНИЕ. Не ожидайте, что внешний вид вашего исходного документа будет идентичным во всех выходных документах PDF для предварительного просмотра или экспорта ODT в формате PDF! Pandoc, когда преобразование не сохраняет макеты , оно сохраняет содержание и структуру документов: абзацы остаются абзацами, выделенные слова остаются выделенными, заголовки остаются заголовками и т. Д. Но общий вид может значительно измениться.
Примеры команд
pdflatex:
XeLaTeX:
LuaLaTeX:
ConTeXt:
GNU troff:
wkhtmltopdf:
PrinceXML:
weasyprint:
Вышеуказанные команды являются основными для преобразования. В зависимости от выбранного вами механизма PDF, для управления внешним видом выходного файла PDF может быть много других вариантов. Например, следующие дополнительные параметры могут быть добавлены ко всем этим путям, маршрутизируемым через LaTeX:
который будет использовать нестандартный размер страницы (немного больше, чем DIN A4) с полями 2 см по верхнему краю и 1,12 см по остальным трем краям).
источник