Я создаю несколько документов в офисе Libre, и я должен всегда отправлять их как .pdf
.
но каждый раз я забываю экспортировать его как PDF, Так есть ли любой путь к автоматическому преобразованию .odt
документ в pdf
каждый раз я сохраняю документ?
У меня есть только приблизительно 4 документа, я продолжаю вносить изменения на них, Таким образом, каждый раз я вношу изменение и сохраняю odt
Мне нужно то изменение, которое будет обновлено в соответствующем файле PDF.
Ps: Я понимаю это unoconv
может использоваться для преобразования через командную строку, но там способ автоматически сделать это?
Другой ps: Я узнал, что существует что-то названное inotify и inotify-инструментами, и это может использоваться для инициирования событий, когда файл изменяется. Но я понятия не имею о том, как использовать его.
Быстрый и грязный пример с помощью кода из pyinotify проекта [http://github.com/seb-m/pyinotify]
Необходимо будет изменить WATCHED_DIR на каталог, содержащий файлы ODT. Также не забудьте устанавливать unoconv сначала.
# Notifier example from tutorial
#
# See: http://github.com/seb-m/pyinotify/wiki/Tutorial
#
# odtwatcher.py
import os
import pyinotify
import subprocess
WATCHED_DIR = '/tmp/test'
wm = pyinotify.WatchManager() # Watch Manager
mask = pyinotify.IN_MODIFY
class EventHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, event):
fname = event.pathname
if os.path.splitext(fname)[1] == '.odt':
print 'MODIFIED: ', fname
args = ['unoconv', '-f', 'pdf', fname]
try:
subprocess.Popen(args)
except OSError as e:
print 'Could not convert file %s to PDF. Error %s' % (fname, str(e))
if __name__ == '__main__':
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch(WATCHED_DIR, mask, rec=True)
notifier.loop()
Сохраните это как odtwatcher.py и затем выполните его в фоновом режиме
python odtwatcher.py &
Попробуйте это расширение (хорошо работает с LibreOffice в Gnome-Shell / Quantal):
MultiSave позволяет одновременно сохранять документ в OpenDocument, MS Office и / или PDF форматы по вашему выбору.
blockquote>
MultiFormatSave - это новый обновленный форк MultiSave, разработанный для лучшей работы с последними ревизиями Libreoffice:
MultiFormatSave позволяет одновременно сохранять документ в форматах OpenDocument, MS Office и / или PDF, выбранный вами для Writer, Calc или Impress
, созданный из мультисейв-расширения starXpert
blockquote>. Убедитесь, что выбран соответствующий релиз для вашей версии LibreOffice, например 1.3.2 для LO 3.5 и 3.6.
Этот пост объясняет, как очень просто преобразовать ODT в PDF из командной строки, используя CUPS.
http://www.yamamoto.com.ar/blog/?p=50
На самом деле вы можете конвертировать все odt в pdf из каталога, так что на самом деле избавьте вас от необходимости не забывать экспортировать в PDF каждый раз!
Надеюсь, это поможет!
Вы также можете запустить libreoffice из командной строки для вашей цели. Это дает вам преимущество пакетного преобразования, но также возможны отдельные файлы. В этом примере все файлы ODT в текущем каталоге преобразуются в PDF:
libreoffice --headless --convert-to pdf *.odt
Дополнительная информация о параметрах командной строки: 112], вы должны закрыть все запущенные экземпляры LibreOffice, прежде чем эта команда сработает.