LibreOffice конвертирует PDF в Word как текстовое поле вместо обычного документа - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу конвертировать PDF в Microsoft Word (doc, docx) с терминала Ubuntu 18, используя LibreOffice 6.1.3.2 10 (Build: 2) (на самом деле я выполняю LibreOffice с помощью PHP).Но я получил полный текстовый документ вместо обычного документа Word.

Сначала, чтобы понять мою проблему, я предлагаю скачать мой файл здесь: https://nofile.io/f/DKvQYFRdYZg/pdf2word.rar

У меня есть 4 файла:

1.original.doc
2.original-to-pdf.pdf
3.pdf-to-word.doc
4.expected.doc

Сначала я конвертирую original.pdf в original-to-pdf.pdf, затем пытаюсь конвертировать обратно в Word, используя следующую команду:

soffice --infilter="writer_pdf_import" --convert-to docx a.pdf

Создание файла прошло успешно, но все содержимое преобразовано в текстовое поле, а не какнормальный документ.Затем я пробую несколько конвертеров PDF в Word, таких как ilovepdf.com, и я получаю expected.doc

Вы можете увидеть другое, скачав мой файл по ссылке выше или посмотрите изображение ниже

мой вывод:

enter image description here

ilovepdf вывод:

enter image description here

Я пробую несколько фильтров, включая PDFodt затем odt to word, но все приведенные ниже команды не дают ожидаемого результата

soffice --infilter="writer_pdf_import" --convert-to docx a.pdf
soffice --infilter="writer_pdf_import" --convert-to docx:"Microsoft Word 2007/2010/2013 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS 2003 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc a.pdf
soffice --infilter="writer_pdf_import" --convert-to odf:"writer8" a.pdf
soffice --infilter="writer8" --convert-to doc a.odf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS Word 95" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS Word 97" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"StarOffice XML (Writer)" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS Word 2003 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2003 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS Word 2007 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to doc:"MS Word 2003 XML" a.pdf
soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML Template" a.pdf
soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML" a.pdf
soffice --infilter="Microsoft Word 2007/2010/2013 XML" --convert-to doc a.pdf

Я знаю о программном обеспечении премиум-класса, таком как abbyy cloud или adobe cloud, но я не думаю, что веб-сайт, такой как ilovepdf, будет использовать платныйСервис для предоставления бесплатного сервиса.У меня вопрос: я что-то пропустил в зависимости от LibreOffice, чтобы можно было конвертировать PDF в обычный текстовый документ?

1 Ответ

0 голосов
/ 15 декабря 2018

Ваша проблема связана с программным обеспечением, используемым для создания PDF;вывод в виде текстовых полей в формате PDF является характеристикой некоторых бюджетных программ для создания PDF.Word ничего не может с этим поделать в процессе импорта;потом вам нужно будет его очистить.

Макрос Word, который вы можете использовать для очистки:

Sub EraseTextBoxes()
Dim RngDoc As Range, RngShp As Range, i As Long
With ActiveDocument
  For i = .Shapes.Count To 1 Step -1
    With .Shapes(i)
      If .Type = msoTextBox Then
        Set RngShp = .TextFrame.TextRange
        RngShp.End = RngShp.End - 1
        Set RngDoc = .Anchor
        RngDoc.Collapse wdCollapseEnd
        RngDoc.FormattedText = RngShp.FormattedText
        .Delete
      End If
    End With
  Next
End With
End Sub

Обратите внимание, что правильность расположения макроса в выходных данных зависит от того, гдетекстовые поля привязаны;если якорные позиции не связаны с местоположением текстового поля, вы получите собачий завтрак.Вы, вероятно, все еще будете в конечном итоге с каждой строкой в ​​качестве собственного абзацаЧтобы очистить такой контент, см. http://www.msofficeforums.com/word/29880-cleaning-up-text-pasted-websites-e-mails.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...