我们的工作场景中每次上传word时都要把word文件先导出图片,然后一一上传系统,因为只有PNG 图片能直接预览,且确保文本、图片和格式保持不变。但有时候遇到大的word文档,一个文档导出来可能都有几十张图片,这样效率实在太低。针对这种情况,我们选了Spire.Doc for Python批量将word转图片,大大提升了转换效率及准确率。该项目分享如何使用 Spire.Doc 在 Python 中将 Word 转换为 PNG。


  • Python Word 指定页面转换为 PNG图片
  • Python Word 所有页面批量转换为 PNG图片

安装 Spire.Doc for Python

项目中需要用到 Spire.Doc for Python。可以通过 pip 命令将它轻松安装到 VS Code 中,简单快捷,使用方便,无需安装其他程序。

pip install Spire.Doc

Python 将 Word 指定页面转换为PNG图片

Spire.Doc for Python 提供 Document.SaveImageToStream() 方法可将特定页面转换为位图(Bitmap)。然后,您可以将位图(Bitmap)再进一步保存为 PNG、JPEG 或 BMP 等常用图像格式。具体步骤如下。

  • 创建 Document 类的对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文件。
  • 读取文档第一页,并使用 Document.SaveImageToStreams() 方法将特定页面转换为位图(Bitmap)。
  • 将位图(Bitmap)保存为 PNG 图片格式。

Python 代码转换Word到图片

from spire.doc import *
from spire.doc.common import *

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("Sample.docx")

# 将第一页转换为位图(bitmap)
imageStream = document.SaveImageToStreams(0, ImageType.Bitmap)

# 将位图(bitmap)保存为PNG文件
with open("ToImage.png",'wb') as imageFile:
    imageFile.write(imageStream.ToArray())
document.Close()

分享一个Python 批量word转图片的方法_转换

Python Word 批量将全部页面转换为 PNG图片

和上面步骤相同,遍历word文档中的所有页面后,批量将所有的word文档页面一次性转为PNG图片

from spire.doc import *
from spire.doc.common import *

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("Sample2.docx")

# 遍历文档中的所有页面
for i in range(document.GetPageCount()):

    # 将指定页面转换为位图(bitmap)
    imageStream = document.SaveImageToStreams(i, ImageType.Bitmap)

    # 将位图(bitmap)保存为PNG文件
    with open('toImage-{0}.png'.format(i),'wb') as imageFile:
        imageFile.write(imageStream.ToArray())

document.Close()

分享一个Python 批量word转图片的方法_Word_02

最后

Spire.Doc 还支持在python中生成、读取 Word 文档,添加页眉和页脚,创建表格,添加表单域和邮件合并域,添加书签,添加文本和图片水印,设置背景颜色和背景图片,添加脚注和尾注,添加超链接,加密和解密 Word 文档等。希望本文对你有一些帮助,如有问题,欢迎指正^^


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python