首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在libreoffice 6.4中将pdf转换成docx?

如何在libreoffice 6.4中将pdf转换成docx?
EN

Stack Overflow用户
提问于 2020-08-26 08:11:54
回答 1查看 4.7K关注 0票数 3

我在我的ubuntu18.04容器中安装了LibreOffice6.4。

目标是将pdf文件转换为docx。

我已经尝试过以下命令:

代码语言:javascript
运行
复制
libreoffice --headless --convert-to docx:"Microsoft Word 2007/2010/2013 XML" /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to docx:"Microsoft Word 2007-2013 XML" /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to docx:"MS Word 2007 XML" /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to docx:writer_MS_Word_97 /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to "docx:writer_MS_Word_2007" /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to docx:writer_OOXML /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to doc /pdf/pdf.pdf --outdir /pdf

libreoffice --headless --convert-to "docx:writer_MS_Word_2007" --outdir /pdf pdf.pdf

但他们总是回复这样的信息:

代码语言:javascript
运行
复制
convert /pdf/pdf.pdf -> /pdf/pdf.docx using filter : writer_MS_Word_2007
Overwriting: /pdf/pdf.docx
Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///pdf/pdf.docx> failed: 0x81a(Error Area:Io Class:Parameter Code:26))

有人能告诉我发生了什么事吗?

最新情况:

我试过这个命令:

代码语言:javascript
运行
复制
libreoffice --infilter="writer_pdf_import" --convert-to docx  --outdir /pdf /pdf/pdf.pdf

它回复了这样的信息:

代码语言:javascript
运行
复制
convert /pdf/pdf.pdf -> /pdf/pdf.docx using filter : Office Open XML Text
Overwriting: /pdf/pdf.docx

我可以看到它需要--infilter--参数,因为输入文件是pdf。

但是,它使用的是Office Open XML Text过滤器,我需要将它切换到Microsoft Word 2007-2013 XML,我如何才能做到呢?

我已经试过了,但没有用:

代码语言:javascript
运行
复制
libreoffice --infilter="writer_pdf_import" --convert-to docx:"Microsoft Word 2007-2013 XML"  --outdir /pdf /pdf/pdf.pdf

libreoffice --infilter="writer_pdf_import" --convert-to "docx:Microsoft Word 2007-2013 XML"  --outdir /pdf /pdf/pdf.pdf

libreoffice --infilter="writer_pdf_import" --convert-to "docx:writer_MS_Word_2007"  --outdir /pdf /pdf/pdf.pdf

libreoffice --infilter="writer_pdf_import" --convert-to docx:"writer_MS_Word_2007"  --outdir /pdf /pdf/pdf.pdf

libreoffice --infilter="writer_pdf_import" --convert-to docx:writer_MS_Word_2007  --outdir /pdf /pdf/pdf.pdf

他们总是返回此消息(与上面相同):

代码语言:javascript
运行
复制
convert /pdf/pdf.pdf -> /pdf/pdf.docx using filter : writer_MS_Word_2007
Overwriting: /pdf/pdf.docx
Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///pdf/pdf.docx> failed: 0x81a(Error Area:Io Class:Parameter Code:26))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 11:04:15

我终于想出了解决办法。

希望这对任何有同样问题的人都是有用的。

我做了一个实验,从这个列表上一个一个地尝试可能的单词过滤器,有四个成功的尝试。

代码语言:javascript
运行
复制
libreoffice --headless --infilter="writer_pdf_import" --convert-to docx  --outdir /pdf /pdf/pdf.pdf

libreoffice --headless --infilter='writer_pdf_import' --convert-to docx:"MS Word 2007 XML" --outdir /pdf /pdf/pdf.pdf

libreoffice --headless --infilter='writer_pdf_import' --convert-to doc:"MS Word 2007 XML" --outdir /pdf /pdf/pdf.pdf

libreoffice --headless --infilter="writer_pdf_import" --convert-to doc  --outdir /pdf /pdf/pdf.pdf

但在这4条命令中,最后一条得到了最好的结果,转换后的文档文件内容看起来与原来的类似,FYI,我的文档中有一些汉字和表格,前3条命令没有正确地绘制表格边框,而最后一条则是正确的。

最新情况:

我决定在ubuntu18.04容器上安装LibreOffice7.0。

要查看筛选器的详细列表,请转到这里,然后打开其中一个xcu文件,筛选器详细信息应该在那里,使用它,只需从name属性中选择,然后按如下方式使用:

代码语言:javascript
运行
复制
libreoffice --headless --infilter='writer_pdf_import' --convert-to doc:"<enter_filter_name_here>" --outdir /pdf /pdf/pdf.pdf
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63593345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档