xmindparser思维导图初试,用shell语言

需求

复制代码
xmindparser
用 shell 画思维导图 x mind,可以
 /storage/emulated/0/字体/黑体.ttf 
 保存/storage/emulated/0/print/图片/input图纸/

任务实施

①. 首先要知道用什么库,都有哪些思维导图库

②. 初步知道每一种库,尽管这很繁琐

③. 尝试在官网看看他们的使用范围和所有图例

表格

在Shell中,可以使用一些命令行工具来创建和处理思维导图和表格数据。以下是一些常用的Shell思维导图库和表格库:

思维导图库:

  1. Graph-Easy:一个简单的Perl模块,可将文本转换为ASCII格式或SVG格式的图形,用于创建简单的流程图和思维导图。
  2. dot:Graphviz软件包的一部分,用于创建复杂的图形和流程图,支持多种导图样式和输出格式。
  3. txt2tags:一个通用的文本到文档转换器,支持将文本转换为HTML、LaTeX、Man等多种格式,其中包括一些简单的思维导图样式。

表格库:

  1. awk:一个强大的文本处理工具,提供了对表格数据进行筛选、排序和计算的功能。
  2. sed:另一个流行的文本处理工具,用于在表格数据中进行查找和替换操作。
  3. csvkit:一个专门针对CSV文件的命令行工具集,提供了一系列对表格数据进行处理和转换的工具。
  4. xsv:一个快速、轻量级的CSV工具,支持对表格数据进行排序、过滤、搜索和统计等操作。
    (以上来自gpt回答)

第一个代码

如果您想使用Shell脚本来将XMind思维导图转换为图片并使用指定的字体,可以借助xmindparser和ImageMagick这两个工具。

  1. 安装xmindparser和ImageMagick

首先,确保您已经安装了Python和pip工具。然后使用以下命令安装xmindparser库:

复制代码
pip install xmindparser

同时,您也需要安装ImageMagick工具,可以通过包管理器进行安装,如:

复制代码
sudo apt-get install imagemagick
  1. 创建Shell脚本

接下来,创建一个Shell脚本文件(例如convert_xmind_to_image.sh)并使用文本编辑器打开。将以下内容复制到脚本文件中:

shell 复制代码
#!/bin/bash

# 设置字体路径
font_path="/storage/emulated/0/字体/黑体.ttf"

# 设置导出图片路径
output_dir="/storage/emulated/0/print/图片/input图纸/"

# 设置XMind文件路径
xmind_file="/path/to/your/xmind/file.xmind"

# 导出为SVG格式
python -c "from xmindparser import xmind_to_dict; from xmindparser.utils import save_as_image; data = xmind_to_dict('$xmind_file'); for sheet in data[0]['topic']: save_as_image(sheet, '${output_dir}$(basename $xmind_file .xmind)_${sheet["title"]}.svg', force=True)"

# 将SVG转换为图片,并设置字体
for svg_file in ${output_dir}*.svg; do
  output_file="${svg_file%.svg}.png"
  convert -background none -font "$font_path" -gravity center -resize 800x "${svg_file}" "${output_file}"
done

# 删除临时的SVG文件
rm ${output_dir}*.svg

在脚本中,您需要根据实际情况修改以下几个参数:

  • font_path:您指定的字体文件路径。
  • output_dir:图片输出目录。
  • xmind_file:您要转换的XMind文件路径。
  1. 运行脚本

保存并关闭脚本文件后,使用以下命令运行脚本:

shell 复制代码
bash convert_xmind_to_image.sh

脚本将会读取XMind文件,并将每个主题(topic)导出为SVG格式的文件。然后,利用ImageMagick将SVG文件转换为PNG格式,并应用指定的字体。最后,删除临时生成的SVG文件。

相关推荐
工业通讯探索者10 小时前
ProfiNet转CANopen协议转换网关驱动新能源汽车生产线多轴同步控制
自动化·工业物联网·协议转换网关·网关模块·总线协议
小马哥编程12 小时前
【软件测试】自动化测试结合 CI/CD有哪些方案
自动化·集成测试·测试覆盖率
weixin_4578858213 小时前
JavaScript智能对话机器人——企业知识库自动化
开发语言·javascript·自动化
东方佑13 小时前
利用Python自动化处理PPT样式与结构:从提取到生成
python·自动化·powerpoint
大乔乔布斯15 小时前
AttributeError: module ‘smtplib‘ has no attribute ‘SMTP_SSL‘ 解决方法
python·bash·ssl
niuniu_66616 小时前
简单的自动化场景(以 Chrome 浏览器 为例)
运维·chrome·python·selenium·测试工具·自动化·安全性测试
吾日三省吾码1 天前
Python 脚本:自动化你的日常任务
数据库·python·自动化
遇见火星1 天前
自动化发布工具CI/CD实践Jenkins常用工具和插件的使用
运维·ci/cd·自动化·jenkins·自动化发布
明月看潮生1 天前
青少年编程与数学 02-015 大学数学知识点 01课题、概要
青少年编程·高等数学·编程与数学·大学数学
明月看潮生1 天前
青少年编程与数学 02-014 高中数学知识点 07课题、专业相关性分析
青少年编程·高中数学·编程与数学