Преобразование docx в PDF

Я пытаюсь преобразовать файлы docx в pdf на моем сервере Ubuntu с помощью командной строки, но ни один из конвертеров, которые я пробовал до сих пор, кажется, правильно конвертирует файлы Word 2007/2010/2013.

Внешне онлайновые конвертеры могут управлять им без каких-либо проблем, но веб-службы не являются опцией, потому что файлы содержат конфиденциальные данные. Для тестов я использую этот файл Word 2007, потому что он содержит некоторые важные элементы (формулы, векторную графику, изображения, списки и т. Д.). Я тестировал следующие инструменты (частично из этого сообщения):

lowriter (LibreOffice Writer) - неправильный вывод (круг должен находиться на последней странице, а не в первой)

unoconv - то же, что LibreOffice, поскольку он не использует собственный конвертер.

abiword --to=pdf filename.doc - некорректный и неполный (многие элементы отсутствуют):

enter image description here [ ! 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 ]

Я поставлю сообщение, получившее наилучшие результаты в качестве принятого ответа. Однако щедрость была предназначена для решения с абсолютно правильной конверсией. Спасибо всем, снова.

1
задан 20 March 2017 в 14:18

6 ответов

У меня также была эта проблема в прошлом, мне не пришлось использовать ее в последнее время, поэтому я не знаю, влияет ли это на меня.

Что касается ответа на вопрос: [!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 года, поэтому оно должно применяться несколько.

Помимо всего этого, я действительно не знаю. Надеюсь, вы решите свою проблему!

4
ответ дан 24 May 2018 в 13:39
  • 1
    Извините, но ни один из предложенных вами инструментов не смог сделать чистое преобразование. – Sceptical Jule 3 January 2014 в 20:53

Это решение командной строки, которое работает достойно, но использует проприетарное программное обеспечение.

Я думаю, что основная проблема заключается в том, что форматы 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) ,

pagew 1-2

Теперь проблема в том, что интерфейс графического слова выскочит --- я не знаю, как сделать его «безголовым». Параметры командной строки для Word не помогли ...

(1) Я никоим образом не связан с Codeveawers --- просто счастливым пользователем.

4
ответ дан 24 May 2018 в 13:39

Если у вас установлен 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.

2
ответ дан 24 May 2018 в 13:39
  • 1
    У них не было никакого успеха. – Sceptical Jule 3 January 2014 в 21:10
  • 2
    Это может ответить на вопрос. – Sceptical Jule 3 January 2014 в 21:34
  • 3
    Я ценю ваш ответ. Это имеет большой смысл, но я удивлен, что печать не сработала, так как это как печать на бумаге ... :) – Mitch♦ 3 January 2014 в 21:52
  • 4
    Основная проблема заключается в том, что LibreOffice даже не может открывать и отображать документ правильно. Следовательно, выход также неверен. Работало ли оно на вашем Linux? – Sceptical Jule 3 January 2014 в 21:54
  • 5
    Это хорошо знать. Я использую офис только для базовых документов, потребность не придумала что-либо более сложное, но когда это произойдет, я обязательно позабочусь об этом. Спасибо за большой вопрос, и я обязательно добавлю его в качестве фаворита для дальнейшего использования. Я сохраню этот ответ и комментарии в качестве ссылки для других пользователей. – Mitch♦ 3 January 2014 в 22:00

Вот горькая правда: решения 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.

2
ответ дан 24 May 2018 в 13:39
  • 1
    Почему просто использовать слово MS в wine вместо виртуальной машины? – totti 1 January 2014 в 16:12
  • 2
    Как я уже упоминал, мой опыт установки и использования MS-Office с использованием WINE не прошел хорошо. Программа не работала так же, как в Windows (показала неправильное поведение), а также сильно разбилась! – Seyed Mohammad 1 January 2014 в 16:22
  • 3
    Нет ohe имеет downvoted еще , но вопрос явно запрашивает решение командной строки . Это бесполезно из-за MS, это бесполезно, потому что он полностью игнорирует вопрос. – djeikyb 1 January 2014 в 16:26
  • 4
    Seyed, обратите внимание, что OP явно запрашивает решение командной строки, которое будет работать на его сервере Ubuntu (у которого, вероятно, даже нет графического интерфейса!). Ваш ответ неплохой, но в данном случае это не имеет значения. – Glutanimate 1 January 2014 в 20:33
  • 5
    @ScepticalJule Смешно. Вы явно вкладываете деньги в решение командной строки. Затем вы выбираете ответ, который даже не отвечает на вопрос. Вы даже изучили другие ответы. Включая этот и мой? – don.joey 6 January 2014 в 19:09

Вот несколько приложений, которые вы можете попробовать и посмотреть, работают ли они FF Multi Converter или вы можете попробовать Kingsoft Office.

1
ответ дан 24 May 2018 в 13:39
  • 1
    Установленный FF Multi Converter, выполнил команду ... ничего не произошло. Kingsoft имеет приятный графический интерфейс, но он не смог открыть / показать файл правильно (формулы отсутствовали даже после установки необходимых шрифтов. – Sceptical Jule 4 January 2014 в 00:50

Установите Caliber из Software Center или Synaptic и установите выход по умолчанию в PDF.

Из приглашения оболочки выполните

ebook-convert dummyfilename.docx .pdf -h [ ! d4]
0
ответ дан 24 May 2018 в 13:39
  • 1
    Это сокращение текста как-то. – don.joey 1 January 2014 в 20:28
  • 2
    Сбой с ValueError: No plugin to handle input format: docx. Google не помог в этом, поэтому я сообщу об ошибке. – Sceptical Jule 3 January 2014 в 21:37

Другие вопросы по тегам:

Похожие вопросы: