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文件。

相关推荐
q567315238 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
Tassel_YUE1 小时前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
研究是为了理解1 小时前
Git Bash 常用命令
git·elasticsearch·bash
明月看潮生10 小时前
青少年编程与数学 02-003 Go语言网络编程 09课题、Cookie
青少年编程·golang·网络编程·编程与数学
明月看潮生10 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
明月看潮生10 小时前
青少年编程与数学 02-003 Go语言网络编程 14课题、Go语言Udp编程
青少年编程·golang·网络编程·编程与数学
也无晴也无风雨11 小时前
代码中的设计模式-策略模式
设计模式·bash·策略模式
flashman91111 小时前
python在word中插入图片
python·microsoft·自动化·word
2401_8576226621 小时前
SpringBoot健身房管理:敏捷与自动化
spring boot·后端·自动化
力姆泰克21 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节