Я пытаюсь преобразовать файлы docx в pdf на моем сервере Ubuntu с помощью командной строки, но ни один из конвертеров, которые я пробовал до сих пор, кажется, правильно конвертирует файлы Word 2007/2010/2013.
Внешне онлайновые конвертеры могут управлять им без каких-либо проблем, но веб-службы не являются опцией, потому что файлы содержат конфиденциальные данные. Для тестов я использую этот файл Word 2007, потому что он содержит некоторые важные элементы (формулы, векторную графику, изображения, списки и т. Д.). Я тестировал следующие инструменты (частично из этого сообщения):
lowriter (LibreOffice Writer) - неправильный вывод (круг должен находиться на последней странице, а не в первой)
unoconv - то же, что LibreOffice, поскольку он не использует собственный конвертер.
abiword --to=pdf filename.doc - некорректный и неполный (многие элементы отсутствуют):
[ ! d11]
OpenOffice Writer - тот же результат, что и для abiword
wvPDF - сбой со следующим сообщением об ошибке:
~ $ wvPDF 2007_Office_DocEncryption.docx test.pdf Текущий каталог : / home / webmt / dev / test / Некоторые проблемы с использованием латекса. Проверка ошибок в test.log Продолжение ... Конвертация в dvi не удалосьЕсть ли способ конвертировать файлы docx в PDF на Linux правильно? Это также помогло бы мне, если бы я знал, что это работает для кого-то из тех программ, которые я уже упоминал. Я начну щедрость, как только SE позволит мне.
p.s. Я использую сервер Ubuntu 12.04
docx :
Мне пришлось сделать вывод, что, как и для меня, нет надежного инструмента, который будет работать с новыми форматами MS Word и всеми его элементами на Ubuntu и создавать индивидуальную копию файлов docx. Ни один из инструментов, которые я тестировал, не мог правильно преобразовать файл образца. Поскольку я буду сталкиваться с очень разными версиями / содержанием документа, а качество вывода имеет один из самых высоких приоритетов, я в конечном итоге сделаю конверсии с помощью макросов VB в Word на сервере Windows, подключенном к моей Linux. [!d27 ]
Я поставлю сообщение, получившее наилучшие результаты в качестве принятого ответа. Однако щедрость была предназначена для решения с абсолютно правильной конверсией. Спасибо всем, снова.
У меня также была эта проблема в прошлом, мне не пришлось использовать ее в последнее время, поэтому я не знаю, влияет ли это на меня.
Что касается ответа на вопрос: [!d1 ]
Этот вопрос: Как конвертировать .doc или .docx в .pdf дает повод в комментариях, почему может произойти ваше преобразование с lowriter:
Остерегайтесь использования символа «пробел» из командной строки ... Когда вы добираетесь до символа пробела, просто нажмите «tab»;) - Pitto Nov 16 '12 at 13:11Ответ на этот вопрос также может помочь:
7] Как конвертировать .doc или .docx в .pdfВы запустили бы libreoffice --headless --convert-to pdf *.odt. Вы можете получить дополнительную информацию о libreoffice с командой man libreoffice, если вам нужна помощь в понимании или настройке команды на работу.
Однако вы не можете открывать LibreOffice в то время, согласно этой ошибке: https://bugs.freedesktop.org/show_bug.cgi?id=37531
Этот вопрос также связан с Ubuntu, хотя он находится на SuperUser: https: / /bugs.freedesktop.org/show_bug.cgi?id=37531
Первый ответ имеет два варианта: один использует CUPS и создает PDF-принтер, другой - с помощью LaTex, хотя вы и сказали что LaTex не работает.
Что касается преобразования в PDF через CUPS PDF, вы должны запустить sudo apt-get install cups-pdf, а затем oowriter -pt pdf your_word_file.doc(x). Это может помочь с вашей проблемой oowriter.
Вероятно, это проблема с тем, что вы пытаетесь преобразовать в PDF из DOC / DOCX, когда большинство инструментов использует ODT, поскольку они связаны с LibreOffice / OpenOffice / AbiWord. Таким образом, они либо не пытаются преобразовать его из формата Microsoft DOCX, либо в преобразование в ODT.
Есть несколько ошибок с преобразованием из .docx w. Word Art (версия включена):
https://bugs.freedesktop.org/show_bug.cgi?id=33072 - 3.3.0 rc 2 (устаревший, я считаю) https: //bugs.freedesktop .org / show_bug.cgi? id = 63289 - 4.0.2.2 https://bugs.freedesktop.org/show_bug.cgi?id=62251 - 4.0.0.3 https://bugs.freedesktop.org/show_bug.cgi?id = 65260 - UnspecifiedЭто из форума LibreOffice относительно преобразования из .doc и несколько .docx: http://en.libreofficeforum.org/node/5096. Это с января 2013 года, поэтому оно должно применяться несколько.
Помимо всего этого, я действительно не знаю. Надеюсь, вы решите свою проблему!
Это решение командной строки, которое работает достойно, но использует проприетарное программное обеспечение.
Я думаю, что основная проблема заключается в том, что форматы 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 --- просто счастливым пользователем.
Если у вас установлен Libreoffice, вы можете попытаться преобразовать его. Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:
libreoffice --headless -convert-to pdf <file_name>.docx -outdir output/path/for/pdf
Другой вариант - установить Cups PDF.
Для этого просто нажмите Ctrl + Alt + Alt на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:
sudo apt-get install cups-pdf
Затем создайте новый принтер, установите его как файл PDF-файла и назовите его, как хотите, до тех пор, как вы знаете имя , затем запустите:
oowriter -pt pdf your_word_file.docx
И ваш файл PDF будет находиться в ~/PDF.
Вот горькая правда: решения Office для Linux - это полные сбои! Я много лет работаю на GNU / Linux, и я постоянно искал и пробовал различные офисные решения, начиная с старого Open-Office, до более позднего Libre-Office, Abi-Word и т. Д. Они все не помогли мне заняться моей работой в офисе. Это даже ухудшается, когда речь заходит о нелатинских языках (языки справа налево, такие как персидский, арабский и т. Д.). Пользователь должен бороться с этим программным обеспечением, чтобы выполнить свою работу! И совместимость Microsoft Office просто не существует. Я могу говорить часы и часы о том, как много я пробовал, и все они меня подвели, но это не вопрос этого вопроса.
Я также попытался установить и запустить Microsoft Office с помощью WINE, и что-то было успешным, но это не сработало, и в основном он разбился, когда я попытался открыть свои офисные файлы.
LaTeX в порядке, но это не офисное решение. LaTeX предназначен для настройки типа, и это больше похоже на инструмент pro, и нет никаких распространенных листов и презентаций.
Это не командная строка, линейное решение. Единственное решение, которое я разработал за все эти годы, чтобы держать меня в моей ОС GNU / Linux, а также выполнять мои работы в офисе, - это использовать минимальную установку Microsoft Windows на виртуальной машине (например, VirtualBox) и установить дело с Microsoft Office.
Это может показаться не очень красивым, но это единственное решение, которое работает безупречно и спасает меня от борьбы с плохими офисными решениями в мое драгоценное время. Сначала я сам думал, что это не очень хорошее решение, но после неудачи со всеми остальными и для работы с этой виртуальной машиной более двух лет я действительно доволен этим . Это не решение командной строки.
============================================================================ =======================================
ПРИМЕЧАНИЕ. 1: Я не рекламирую продукты Microsoft! Просто пытайтесь помочь решить проблему и перейти к жизни.
ПРИМЕЧАНИЕ-1: Как было подчеркнуто выше, это НЕ-решение командной строки. Так зачем писать ответ? Потому что это вариант TESTED и WELL-WORKING! Если не найдено ни одного решения командной строки WORKING (что я очень подозреваю в этом случае), то наличие опции ALTERNATIVE лучше, чем NO.
Вот несколько приложений, которые вы можете попробовать и посмотреть, работают ли они FF Multi Converter или вы можете попробовать Kingsoft Office.
Установите Caliber из Software Center или Synaptic и установите выход по умолчанию в PDF.
Из приглашения оболочки выполните
ebook-convert dummyfilename.docx .pdf -h [ ! d4]