ubuntu Python和MS Word:将.doc转换为.docx?

nxowjjhe  于 12个月前  发布在  Python
关注(0)|答案(5)|浏览(181)

我发现了几个与我的问题相似的问题,但没有一个答案接近我所需要的。
规格:我使用Python 3,没有MS Word。我的编程机器运行OS X,云机器也是Linux/Ubuntu。
我正在使用python-docx从每晚发送给我的.doc文件中提取值。然而,python-docx只适用于.docx文件,因此我需要首先将文件转换为该扩展名。
所以,我有一个.doc文件,我需要转换为.docx。这个脚本可能必须在云中运行,所以我不能安装任何类型的Office或类似于Windows的软件。可以这样做吗?

w46czmvw

w46czmvw1#

如果你使用的是Linux/ubuntu,你可以使用LibreOffice的内置转换器。

语法

lowriter --convert-to docx *.doc

字符串

示例#

lowriter --convert-to docx testdoc.doc


这将转换所有的doc文件到docx和保存在同一个文件夹本身。

vhmi4jdf

vhmi4jdf2#

您可以使用unoconv- Universal Office Converter。在LibreOffice/OpenOffice支持的任何文档格式之间转换。

unoconv -d document --format=docx *.doc

个字符

js5cn81o

js5cn81o3#

Aspose.Words Cloud SDK for Python可以将DOC转换为DOCX。该软件包可以在任何平台上使用Python打开,生成,编辑,拆分,合并,比较和转换Word文档,而不依赖于MS Word。
它是一个付费产品,但免费计划提供每月150个免费的API调用。
P.S:我是Aspose的开发者布道者。

# Import module
import asposewordscloud
import asposewordscloud.models.requests
from shutil import copyfile

# Get your credentials from https://dashboard.aspose.cloud (free registration is required).
words_api = asposewordscloud.WordsApi(app_sid='xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx',app_key='xxxxxxxxxxxxxxxxxxxxxxxxx')
words_api.api_client.configuration.host = 'https://api.aspose.cloud'

filename = 'C:/Temp/02_pages.doc'
dest_name = 'C:/Temp/02_pages.docx'
#Convert RTF to text
request = asposewordscloud.models.requests.ConvertDocumentRequest(document=open(filename, 'rb'), format='docx')
result = words_api.convert_document(request)
copyfile(result, dest_name)

字符串

k4aesqcs

k4aesqcs4#

import aspose.words as aw
path1="doc file path"
path2="path to save converted file"
file2=file.rsplit('.',1)[0]+'.docx'
filename1=os.path.join(path2,file2)
filename=os.path.join(path1,file)
doc = aw.Document(filename)
doc.save(filename1)

字符串

eivnm1vs

eivnm1vs5#

首先,您需要使用Windows。如果这是一个可以接受的障碍,那么请继续阅读....
接下来,您需要安装Microsoft Office Compatibility Pack
现在下载并安装Microsoft Office Migration Planning Manager
要运行该工具,您需要创建一个控制程序的.ini文件。此blog post上提供了一个.ini文件示例和更多信息。Microsoft here提供了更多详细信息。

相关问题