vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。
安装依赖包
假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram
,该包依赖 jpype1
:
1
| pip install aspose-diagram jpype1
|
微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk :
1 2 3
| wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz tar -xzvf jdk-17_linux-x64_bin.tar.gz sudo mv jdk-17.0.8 /usr/local/java
|
使用
1 2 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)
|
1 2 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,更清晰
1 2 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);
|
更多格式请参考官网,格式