Мне нужно преобразовать файлы pdf размером 1K в doc на сервере Debian. Я могу преобразовать PDF в Word с помощью командной строки libreoffice:
libreoffice --headless --invisible --convert-to doc Sample-doc-file-100kb.pdf
Или с помощью soffice:
soffice --nocrashreport --nologo --nolockcheck --nofirststartwizard --invisible --headless --convert-to doc Sample-doc-file-100kb.pdf
Основная проблема с двумя приведенными выше командами заключается в том, что файл doc не включает изображения на страницах, он содержит только отформатированный текст. Есть ли лучший способ конвертировать pdf в doc, включая также изображения, присутствующие в pdf? Мне не интересны веб-сервисы, такие как zamzam, мне нужно сделать это из командной строки на сервере. Спасибо.
решение1
Вы можете попробовать программное обеспечение abiword, например:
abiword --to=doc пример.pdf
решение2
Мне удалось это сделать с помощью этого:
libreoffice --infilter=="writer_pdf_import" --headless \
--convert-to doc:"writer_pdf_Export" Brief.pdf
Это дает мне тот же результат, что и ответ @igiannak.
решение3
любая команда прямого интерфейса командной строки доступна для преобразования PDF в DOCX, включая изображения, присутствующие в PDF, и я пробовал команды libreoofice и soffice, они выдавали только простой форматированный текст, как и любая другая библиотека pywin32 com clinet доступна на Linux/Ubuntu во время преобразования PDF в Word
импорт os импорт sys
импорт comtypes.client
wdFormatPDF = 17
def covx_to_pdf(infile, outfile): """Преобразовать Word .docx в PDF"""
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(infile)
doc.SaveAs(outfile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
этот код работает на машине Windows для преобразования PDF в Word, но этот пакет не поддерживает платформы Linux/Debian. Есть ли у нас какие-либо предложения по этой же реализации на Linux/Debian для преобразования PDF в Word?