Это решение командной строки, которое работает достойно, но использует проприетарное программное обеспечение.
Я думаю, что основная проблема заключается в том, что форматы Microsoft Word полностью понятны только для Microsoft Word (даже там есть различия между версиями --- есть файлы Word из прошлого, которые открываются некорректно отформатированными в новых версии). Все остальные решения - это аппроксимации и хаки, поэтому они будут работать или не зависят от файла.
Поэтому, чтобы быть уверенным, что вам нужно обработать ваши .docx-файлы с установкой Microsoft Word (и да, я думаю, что это их вариант, и это справедливо. Если вы не хотите использовать Word, не используйте это --- я иду с LaTeX для своей работы, но трудно убедить весь остальной мир ...).
Я использую с возрастом Crossover для запуска Microsoft Office на моем Linux Desktop (1), считая его весьма полезным. Возможно, он тоже работает с вином - никогда не пробовал.
Я выполняю преобразование с использованием этой конфигурации:
1) У меня установлен Crossover
2) У меня установлена версия Microsoft Office под Crossover [!d8 ]
3) В Microsoft Word отключите «фоновое печать»
4) У меня установлен принтер cups-pdf и выбран в качестве принтера по умолчанию.
5) Чтобы выполнить преобразование, запустите (подсказки Crossover ):
~/cxoffice/bin/wine --cx-app winword.exe respondus-docx-sample-file.docx /q /n /mFilePrintDefault /mFileExit
6) Ваш преобразованный файл появится в каталоге ~/PDF/.
Документ выдается почти идеально (есть некорректность в ответе # 2, которые показаны в моем Word Word 2007 при работе под кроссовером --- я не знаю, связано ли это с моей версией Windows) ,
Теперь проблема в том, что интерфейс графического слова выскочит --- я не знаю, как сделать его «безголовым». Параметры командной строки для Word не помогли ...
(1) Я никоим образом не связан с Codeveawers --- просто счастливым пользователем.