是否有一个(Linux)命令行工具可以从 MS Word 文档中提取所有图像(最好是可以处理 .docx 格式的工具)?
答案1
由于 docx 文件是 zip 文件,因此您可以解压缩 docx 文件,然后挑选出图像文件。
我没有 Microsoft Office 可以测试,所以我从互联网上下载了一些随机的 docx 文件。似乎图像总是存储在word/media
档案库的目录中。
此命令将从档案中提取media
目录中的所有文件:
unzip foo.docx "word/media/*"
此命令将仅提取*.jpeg
文件:
unzip foo.docx "*.jpeg"
"*.jpg"
请注意,如果文件保存为jpg
而不是 ,则必须指定jpeg
。我假设图像也可能使用不同的格式存储。我不知道图像是否可以存储在目录以外的其他位置word/media
。您可以使用unzip -l
列出存档的内容。
答案2
我编写了一个开源 Python 程序,名为ofc_媒体它基本上完成了 lesmana 的回答中提到的解压操作,但稍微自动化了搜索过程。它还适用于 OpenDocument 格式的文档,可以将提取限制为某些文件扩展名等。
答案3
将 Word 文档保存为网页是 Windows 上使用的一种技术,用于将所有图像提取到文件夹中:http://support.microsoft.com/kb/555171
这可能有些冗长,但也许您可以从命令行控制 Linux 上的 Open Office 来提取图像,可能通过转换为网页并最终将图像放在它将创建的支持文件夹中。