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)并使用文本编辑器打开。将以下内容复制到脚本文件中:

#!/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; dooutput_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. 运行脚本

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

bash convert_xmind_to_image.sh

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业微信hook接口协议,ipad协议http,已读消息

已读消息 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信send_userid是long要发送的人idisRoom是bool是否是群消息 请求示例 {"uuid":"1753cdff-0501-42fe-bb5a-2a4b9629f7fb","send_userid":788130255…

学习JavaScript底层逻辑之预编译

认识预编译前首先需要知道声明提升的概念 1. 变量声明,声明提升 在JavaScript中,变量声明(使用var、let、const关键字)会被提升到当前作用域的顶部。但其初始化(赋值)部分仍然保留在原地。 例如&#xff…

Unity学习日志

目录 获取相机可视范围的世界坐标(2D) 视口转世界坐标和屏幕转世界坐标的区别: 屏幕转世界坐标 视口转屏幕坐标 视口转屏幕结合3D数学实现可视范围的怪物生成 transform.up游戏对象的方向问题 其实还有一种不用Translate的写法: 修改 transform.up 的行为和影响 C#抽象…

全国各城市间驾车耗时和距离矩阵数据集(更新至2022年)

数据简介:城市之间距离越远,耗时越长。经济发达地区的交通状况较好。各城市之间的驾车耗时和距离存在差异。有些城市之间的交通非常便捷,而有些城市之间的交通则较为不便。这表明中国的交通网络发展尚不平衡,需进一步优化。特别是…

Excel如何统计非数值内容行数

需要用到sum函数,具体公式如下: SUM(IF(ISNONTEXT(G4:G199),0,1))

Java集合框架详解:深入探讨Java中的集合框架

前言 Java集合框架是Java语言中用于存储和操作大量数据的基石。集合框架提供了一套灵活的接口和实现,使得数据的存储、访问和管理变得异常简单。在本专栏中,我们将深入探讨Java集合框架,包括List、Set、Map等集合的使用和内部实现。 集合框…

Go 语言简介 -- 高效、简洁与现代化编程的完美结合

在现代软件开发领域,选择合适的编程语言对于项目的成功至关重要。Go 语言(又称 Golang )自 2009 年由Google发布以来,以其简洁的语法、高效的并发模型以及强大的性能,迅速成为开发者们的新宠。Go语言不仅融合了传统编译…

icloud照片怎么恢复到相册?2个方法,轻松解决烦恼

在现代生活中,照片承载着我们的回忆和珍贵的时刻,而iCloud提供了便捷的云存储服务,让用户可以方便地备份和同步手机上的照片、视频等文件。 然而,有时候我们可能会不小心删除了在iCloud上的照片,或者想要将iCloud照片…

青岛大学物理科学学院郭向欣教授

男,1973年1月生,山东济宁人。中国科学院百人计划杰出海外人才和上海市浦江人才,山东省泰山学者特聘教授,青岛市创业创新领军人才。固态离子学理事。博士,教授,博士生导师。 研究工作一直聚焦金属锂二次电池…

Golang:Sirupsen/logrus是一个日志库

Sirupsen/logrus是一个日志库 文档 https://github.com/Sirupsen/logrus 安装 go get github.com/sirupsen/logrus代码示例 package mainimport ("github.com/sirupsen/logrus" )func main() {var log logrus.New()log.Trace("Something very low level.&…

使用B2M 算法批量将可执行文件转为灰度图像

参考论文 基于二进制文件的 C 语言编译器特征提取及识别 本实验使用 B2M 算法将可执行文件转为灰度图像,可执行文件转为灰度图的流程如图 4-3 所示。将 可执行文件每 8 位读取为一个无符号的的整型常量,一个可执行文件得到一个一维向量, …

基于51单片机多功能太阳能充电器设计

1 绪论1.1 本课题研究背景及现状 当代社会随着一些不可再生资源如煤炭,石油等日益减少,使得各国社会经济越来越受能源问题的约制,因此许多国家开始逐渐的实行“阳光计划”,开发洁净的能源如太阳能,用以成为本国经济发…

ANOVA方差分析是什么?优思学院教你如何正确使用

ANOVA(方差分析)是一种统计方法,用来研究三个或三个以上样本平均数的差异是否显著。它可以帮助研究者判断不同组间的均值是否存在统计学上的显著差异。简单来说,如果我们想比较多个不同处理或条件对某个变量的影响,ANO…

【网络层】网络攻击 ARP 欺骗

文章目录 ARP 欺骗原理实战体验 ARP 欺骗原理 ARP(地址解析协议)欺骗是一种网络攻击技术,它利用了ARP协议的工作机制来欺骗网络中的主机。ARP协议用于将IP地址转换为物理MAC地址,以便在局域网内部进行数据包的传输。ARP欺骗的基本…

微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

可监测的到手价范围

在品牌进行电商价格监测时,对优惠信息范围的关注至关重要。优惠促销的形式多样,会直接影响到消费者最终的到手价。因此,为了更准确地计算到手价,品牌需要确保监测的促销信息尽可能全面。 不同的电商平台,其优惠形式可…

C# 实现腾讯云点播之媒体管理常用接口

目录 关于腾讯云点播媒体管理 开发前准备 范例运行环境 常用媒体管理API 删除媒体 禁播媒体 获取媒体详细信息 查询媒体 小结 关于腾讯云点播媒体管理 腾讯云点播(Video On Demand)服务基于多年技术积累与基础设施建设,为有音视频应…

TypeScript-interface接口类型

interface接口类型 在TS中使用interface接口来描述对象数据的类型,常用于给对象的属性和方法添加类型约束 ⚠️ 一旦注解接口类型之后对象的属性和方法类型都需要满足要求,属性不能多也不能少 interface Person {name: stringage: number }const p: P…

揭秘APP广告变现的高效秘诀:如何让你的APP更赚钱?

在数字化时代,APP已成为人们获取信息、娱乐休闲的重要平台。对于许多内容创作者来说,如何通过APP实现盈利,是一个亟待解决的问题。而APP广告变现项目,正是其中一种备受关注的盈利模式。那么,如何有效地利用APP广告变现…

分数裂项方法及技巧

裂差 知识点 1 1 1 b − a a b 1 a − 1 b \frac{b-a}{ab} \frac{1}{a} - \frac{1}{b} abb−a​a1​−b1​ 证明: b − a a b b a b − a a b 1 a − 1 b \begin{align*} \\ &\frac{b-a}{ab} \\ &\frac{b}{ab} - \frac{a}{ab} \\ &\frac{1}{a}…