vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。 
安装依赖包
假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram,该包依赖 jpype1:
| 1
 | pip install aspose-diagram jpype1
 | 
微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk :
| 12
 3
 
 | wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gztar -xzvf jdk-17_linux-x64_bin.tar.gz
 sudo mv jdk-17.0.8 /usr/local/java
 
 | 
使用
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | import os
 
 os.environ["JAVA_HOME"] = "/usr/local/java"
 import asposediagram
 import jpype
 
 jpype.startJVM()
 from asposediagram.api import *
 
 diagram = Diagram("hello.vsdx")
 diagram.save("output.jpeg", SaveFileFormat.JPEG)
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | import os
 
 os.environ["JAVA_HOME"] = "/usr/local/java"
 
 import asposediagram
 from asposediagram.api import *
 
 
 
 
 
 diagram = Diagram("hello.vsdx")
 diagram.save("output.png", SaveFileFormat.PNG);
 
 | 
推荐转成 pdf,更清晰
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | import os
 
 os.environ["JAVA_HOME"] = "/usr/local/java"
 
 import asposediagram
 from asposediagram.api import *
 
 
 
 
 diagram = Diagram("hello.vsdx")
 diagram.save("output.pdf", SaveFileFormat.PDF);
 
 | 
更多格式请参考官网,格式