3

利用 Python 把 vsdx 文件转为图像

 8 months ago
source link: https://xujinzh.github.io/2023/09/19/python-vsdx-to-images/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

利用 Python 把 vsdx 文件转为图像

发表于2023-09-19|更新于2023-09-19|technologypython
字数总计:319|阅读时长:1分钟|阅读量:25

vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。

安装依赖包

假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram,该包依赖 jpype1:

pip install aspose-diagram jpype1

微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk

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
# 转成 jpeg
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)
# 转成 png
import os

os.environ["JAVA_HOME"] = "/usr/local/java"

import asposediagram
from asposediagram.api import *

# 如果已经启动 jvm,那么可不用再次启动
# import jpype
# jpype.startJVM()

diagram = Diagram("hello.vsdx")
diagram.save("output.png", SaveFileFormat.PNG);

推荐转成 pdf,更清晰

# 转成 pdf
import os

os.environ["JAVA_HOME"] = "/usr/local/java"

import asposediagram
from asposediagram.api import *

# 如果已经启动 jvm,那么可不用再次启动
# import jpype
# jpype.startJVM()
diagram = Diagram("hello.vsdx")
diagram.save("output.pdf", SaveFileFormat.PDF);

更多格式请参考官网格式


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK