Как использовать unoconv с более новой версией libreoffice - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь преобразовать зашифрованные документы (doc / docx) в PDF, используя python.

Что я делаю:

  • сначала временно дешифруйте их в отдельной папке
  • используйте командную строку unoconv для преобразования дешифрованного файла в pdf:

unoconv -f pdf -eSelectPdfVersaion=1 [path-to-file]

Преобразование выполняется, но я замечаю, что в файлах do c и docx изменяется внешний вид документов (как расшифрованного файла, так и файла PDF). ), который не влияет на исходный зашифрованный файл (я проверил его, просто расшифровав файл с клиента windows и дешифрованный файл, как он был изначально).

Внешний вид - это изменение стиля документа, которое влияет на количество страниц. Например, документ Word на 13 страницах расшифровывается в документ Word на 14 страницах и преобразуется в файл PDF на 14 страницах. Аналогично, файл do c на 348 страницах преобразуется в файл do c на 330 страниц, а затем файл PDF на 330 страниц.

Я обнаружил, что существует небольшая несовместимость стилей между Microsoft Word и версией LibreOffice, установленной с Unoconv (4.3). Выполняя мои тесты, я заметил, что шрифты меняются на совместимые с LibreOffice шрифты, которые немного отличаются по размеру от исходных.

Я установил более позднюю версию LibreOffice (5.1, 5.3) и в моих тестах расшифрованный документ / Файл docx имел правильное форматирование и номера страниц, но unoconv не использует более новую версию и придерживается версии 4.3, создавая таким образом файл PDF с неправильным стилем и номером страницы.

Я пытался использовать:

soffice --headless --convert-to pdf [path-to-file] --outdir [path-to-export-directory]

Но это ничего не делает.

  1. Есть ли способ использовать unoconv с версией LibreOffice, отличной от 4.3?

  2. Есть ли способ заставить команду --convert-to работать с LibreOffice 5.1 или даже 5.3?

...