# 【v1.6\_20240123】AutoMdxBuilder 自动化制作 mdx 词典

**URL:** <https://forum.freemdict.com/t/topic/22044>\
**Category:** 技术交流与词典编修\
**Tags:** 图片词典, mdict, mdxbuilder, mdxsourcebuilder, 文本词典, pdf\
**Created:** [2023 年7 月 7 日 02:39 UTC](https://forum.freemdict.com/t/topic/22044 "2023-07-07T02:39:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 7 日 02:39 UTC](https://forum.freemdict.com/t/topic/22044/1 "2023-07-07T02:39:18Z")

</div>

> **[GitHub - Litles/AutoMdxBuilder: Automatically make mdx dictionaries](https://github.com/Litles/AutoMdxBuilder)**
>
> Automatically make mdx dictionaries

## 功能

**自动化制作 mdx 词典工具，人人都可以制作电子词典** 。AutoMdxBuilder 是 [[Mdict]](https://www.mdict.cn/wp/?lang=en) 词典制作相关的工具，旨在自动化词典制作过程，同时降低制作门槛，该工具目前具备以下功能：

**(一) 打包/解包**

- 解包 mdx/mdd 文件。功能同 `MdxExport.exe`，支持自动解 mdd 分包，支持保留原始词条顺序。
- 打包成 mdx/mdd 文件。功能同 `MdxBuilder.exe`，支持 mdd 自动分包，支持保留原始词条顺序。

**(二) 制作词典**

- 自动化制作词典 (目前有A-D四个可选模板）
- 一键从 PDF/pdg 等原料制作词典

**(三) 还原词典**

- 将 Mdict 词典逆向还原成原材料，方便词典的二次编辑
- 将 Mdict 词典逆向还原成 PDF

**(四) 其他实用工具**

- PDF 与图片互转
- PDF 书签管理

## 词典制作

### 成品预览

#### 图像词典 (模板A，朴素版)

![final_product_demo](https://forumcdn.freemdict.com/uploads/default/original/3X/f/e/fecb47a68cf675dd72fbd051189485afb951ef47.gif)

#### 图像词典 (模板B，导航版)

![img_dict_btmpl](https://forumcdn.freemdict.com/uploads/default/original/3X/a/d/adf3dce11b57a60103f95a1e2df3086ad01834f3.gif)

#### 文本词典 (模板C，朴素版)

 ![text_dict_ctmpl](https://forumcdn.freemdict.com/uploads/default/original/3X/4/5/4591e52f980894fbdcf5004022d238d2b393d7c1.png)

#### 文本词典 (模板D，导航版)

![text_dict_dtmpl](https://forumcdn.freemdict.com/uploads/default/original/3X/0/2/0268f8211553d11986b30d00f4a6dde2b278b2be.gif)

## 程序使用演示

> **[【演示】AutoMdxBuilder 自动化制作 Mdict 词典\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1ja4y1S7p4/)**
>
> AutoMdxBuilder，自动化词典制作 Mdict 词典的工具：https://github.com/Litles/AutoMdxBuilder【演示】如何准备制作Mdict词典所需的原材料：https://www.bilibili.com/video/BV1B94y1H7N6, 视频播放量 1714、弹幕量 0、点赞数 15、投硬币枚数 16、收藏人数 34、转发人数 4, 视频作者 今晚不思考, 作者简介...

> **[【演示】如何准备制作Mdict词典所需的原材料\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1B94y1H7N6/)**
>
> 从原材料到 Mdict 词典视频：https://www.bilibili.com/video/BV1ja4y1S7p4https://github.com/Litles/AutoMdxBuilder, 视频播放量 1460、弹幕量 0、点赞数 13、投硬币枚数 12、收藏人数 35、转发人数 4, 视频作者 今晚不思考, 作者简介 ，相关视频：【演示】AutoMdxBuilder 自动化制作 Mdict 词典，TimeFriend-v1.1.0发布，免费，不翻墙，国内无限制使用 幻数工作台...

## 参考

- [GitHub - liuyug/mdict-utils: MDict pack/unpack/list/info tool](https://github.com/liuyug/mdict-utils)
- [GitHub - VimWei/MdxSourceBuilder: 一键制作mdx图片词典](https://github.com/VimWei/MdxSourceBuilder)

* * *

GitHub：[AutoMdxBuilder latest](https://github.com/Litles/AutoMdxBuilder/releases/latest)  
FM云盘：[AutoMdxBuilder\_xxx.zip](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs)  
BD云盘：[AutoMdxBuilder\_xxx.zip](https://pan.baidu.com/s/1GjACH3XYQ5oGb5RtTYQysA?pwd=xj65)

---

<div class="post-metadata">

**Author:** ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
**Post date:** [2023 年7 月 7 日 02:49 UTC](https://forum.freemdict.com/t/topic/22044/2 "2023-07-07T02:49:04Z")

</div>



---

<div class="post-metadata">

**Author:** ![tovaremeterio](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/tovaremeterio/32/15709_2.png) [@tovaremeterio](https://forum.freemdict.com/u/tovaremeterio)\
**Post date:** [2023 年7 月 7 日 02:53 UTC](https://forum.freemdict.com/t/topic/22044/3 "2023-07-07T02:53:25Z")

</div>

Thank you very much ! Could you consider providing bilingual instructions (Chinese + English) ?

When the data is only in Chinese, many people have troubles in the translations by Google…

Thanks for your great work!

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 7 日 02:59 UTC](https://forum.freemdict.com/t/topic/22044/4 "2023-07-07T02:59:01Z")

</div>

ok, that takes a time

---

<div class="post-metadata">

**Author:** ![SilasYang](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/silasyang/32/46854_2.png) [@SilasYang](https://forum.freemdict.com/u/SilasYang)\
**Post date:** [2023 年7 月 7 日 03:14 UTC](https://forum.freemdict.com/t/topic/22044/5 "2023-07-07T03:14:35Z")

</div>

这可称得上“颠覆性”“革命性”“重大突破”“划时代”和“新纪元”了！已Star！

---

<div class="post-metadata">

**Author:** ![amob](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/amob/32/14630_2.png) [@amob](https://forum.freemdict.com/u/amob)\
**Post date:** [2023 年7 月 7 日 09:32 UTC](https://forum.freemdict.com/t/topic/22044/6 "2023-07-07T09:32:31Z")

</div>

原材料里的箭头是如何输入的？有的长度不同是为什么？图片命名有要求吗？能不能发个文件示例。

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 7 日 10:38 UTC](https://forum.freemdict.com/t/topic/22044/7 "2023-07-07T10:38:17Z")

</div>

箭头不是什么特殊字符哦，就是制表符（TAB 键），只是为了说明不是空格让它显性展示出来，格式实际是这样：

```auto
上午	24
上坟	442
上衣	142
上课	442
上面	319
下午	25
下巴	251

```

> [@amob](#):
>
> 图片命名有要求吗？

图片没有命名要求，程序会自动重新命名好的。

程序 [AutoMdxBuilder\_xxx.zip](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs) 里有样例，你可以下载看看，运行 `auto_mdx_builder.py` 试试。

---

<div class="post-metadata">

**Author:** ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
**Post date:** [2023 年7 月 7 日 11:46 UTC](https://forum.freemdict.com/t/topic/22044/8 "2023-07-07T11:46:24Z")

</div>

赞赞赞！又多一个选择了

---

<div class="post-metadata">

**Author:** ![freeeMdict](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/f/45deac/32.png) [@freeeMdict](https://forum.freemdict.com/u/freeeMdict)\
**Post date:** [2023 年7 月 7 日 17:11 UTC](https://forum.freemdict.com/t/topic/22044/9 "2023-07-07T17:11:13Z")

</div>

![image](https://forumcdn.freemdict.com/uploads/default/original/3X/9/3/9366b872630ef8b7c79968caf892ed742ae7f63b.png)  
 ![image](https://forumcdn.freemdict.com/uploads/default/original/3X/7/d/7d8d56485ec11a5b11420330cc98724d2cfaecc6.png)  
不知道为啥，确实是URF-8 ，还是提示不是UTF-8格式

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 8 日 01:05 UTC](https://forum.freemdict.com/t/topic/22044/10 "2023-07-08T01:05:42Z")

</div>

> [@freeeMdict](#):
>
> 不知道为啥，确实是URF-8 ，还是提示不是UTF-8格式

可能是记事本的“另存为”有问题？一个比较保险的办法是直接修改现有的 .txt 文件内容，清空旧内容，把新内容拷贝进去保存就行。

— 2023年07月08日 更新 ----  
是程序识别的锅，有一定概率误判，已在 [v1.1](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs) 修复（不再检查文本编码，靠使用者自觉）

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 8 日 15:28 UTC](https://forum.freemdict.com/t/topic/22044/11 "2023-07-08T15:28:48Z")

</div>

是程序识别的锅，有一定概率误判，已在 [v1.1](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs) 版修复（不再检查文本编码是否为 utf-8，靠使用者自觉）

---

<div class="post-metadata">

**Author:** ![Woolf](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/w/bc8723/32.png) [@Woolf](https://forum.freemdict.com/u/Woolf)\
**Post date:** [2023 年7 月 9 日 02:24 UTC](https://forum.freemdict.com/t/topic/22044/12 "2023-07-09T02:24:15Z")

</div>

希望能够以视频方式示例，这样很多小白（如我）也能学会，文字描述太抽象。

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 10 日 08:43 UTC](https://forum.freemdict.com/t/topic/22044/13 "2023-07-10T08:43:36Z")

</div>

更新到 [v1.2](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs) ，mdx/mdd 打包解包更智能了，目前具备以下功能：

 ![image](https://forumcdn.freemdict.com/uploads/default/original/3X/a/f/af10f75dddbaa444eb4a01234b31811c84c8f90e.png)

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 13 日 12:32 UTC](https://forum.freemdict.com/t/topic/22044/14 "2023-07-13T12:32:54Z")

</div>

[AMB v1.3](https://cloud.freemdict.com/index.php/s/fQm9RBjjkBsNjWs) **重磅更新！**

- 添加三个词典制作的新模板，包含文本词典的制作
- 添加 index\_all.txt 相关格式的转换
- 性能优化
- 修复已知的 bug

目前功能清单：

 ![image](https://forumcdn.freemdict.com/uploads/default/original/3X/5/9/59cb254ec15011e7c2aed88927c90084ea712eb6.png)

说明文档也更新了，不愿多处编辑了，去 GitHub 看吧：

> **[GitHub - Litles/AutoMdxBuilder: Automatically make mdx dictionaries](https://github.com/Litles/AutoMdxBuilder)**
>
> Automatically make mdx dictionaries. Contribute to Litles/AutoMdxBuilder development by creating an account on GitHub.

PS: 短时间应该不会再有大更新了，目前已经满足我个人需要了

---

<div class="post-metadata">

**Author:** ![SilasYang](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/silasyang/32/46854_2.png) [@SilasYang](https://forum.freemdict.com/u/SilasYang)\
**Post date:** [2023 年7 月 13 日 15:03 UTC](https://forum.freemdict.com/t/topic/22044/15 "2023-07-13T15:03:38Z")

</div>

好，现在只要有原材料，人人都能做词典！

---

<div class="post-metadata">

**Author:** ![匿名1487](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E5%8C%BF/aeb1de/32.png) [@匿名1487](https://forum.freemdict.com/u/%E5%8C%BF%E5%90%8D1487)\
**Post date:** [2023 年7 月 13 日 19:33 UTC](https://forum.freemdict.com/t/topic/22044/16 "2023-07-13T19:33:05Z")

</div>

> ‘mdict’ 不是内部或外部命令，也不是可运行的程序  
> 或批处理文件。

纯菜鸟，这怎么解决？

又调试了一下，结果变成这样了

> 开始打包……
> 
> 正在生成 mdx 文件……
> 
> Fatal error in launcher: Unable to create process using ‘“C:\Program Files\Python311\python.exe” “D:\Program Files\Python311\Scripts\mdict.exe” --description \_tmp\info.html --encoding utf-8 -a \_tmp????2??.txt out????2??.mdx’: ???
> 
> 正在生成 mdd 文件……
> 
> Fatal error in launcher: Unable to create process using ‘“C:\Program Files\Python311\python.exe” “D:\Program Files\Python311\Scripts\mdict.exe” -a \_tmp\imgs out????2??.mdd’: ???
> 
> 打包完毕。
> 
> 恭喜, 词典已生成！

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 14 日 00:27 UTC](https://forum.freemdict.com/t/topic/22044/17 "2023-07-14T00:27:54Z")

</div>

out 文件夹生成词典了吗，还是不行吗？有可能是原材料文本编码的问题，检查下是不是都是UTF-8无签名的

---

<div class="post-metadata">

**Author:** ![匿名1487](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E5%8C%BF/aeb1de/32.png) [@匿名1487](https://forum.freemdict.com/u/%E5%8C%BF%E5%90%8D1487)\
**Post date:** [2023 年7 月 14 日 03:13 UTC](https://forum.freemdict.com/t/topic/22044/18 "2023-07-14T03:13:46Z")

</div>

我是直接拿你的demo来运行的，没生成词典，其实是不知道我在python安装方面出了什么问题，第三方库都不能直接用，明明已经添加到Path了。我实在不懂python，一切步骤都按着教程来的，实在苦恼=\_=。我用cmd输入pip list看到明明已经安装了mdict-utils，输入mdict就是显示

> ‘mdict’ 不是内部或外部命令，也不是可运行的程序或批处理文件。

我就想要试着更改pip安装路径，在cmd用python -m site -help找到site.py，却显示frozen [–user-base] [–user-site]，也就是无法更改。电脑下载了读取不到，路径也不让修改，这该怎么办？

还是用不了于是又重新安装Python，重启，无效…

我折腾了几个小时，网上找了很多教程都无解，可能是我搜索方式不对吧…

---

<div class="post-metadata">

**Author:** ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
**Post date:** [2023 年7 月 14 日 03:31 UTC](https://forum.freemdict.com/t/topic/22044/19 "2023-07-14T03:31:59Z")

</div>

cmd 执行 `pip show mdict-utils colorama` 看下确认这两个包已安装，再执行 `where mdict` 查看 `mdict.exe` 的路径，比如我的是：

 ![image](https://forumcdn.freemdict.com/uploads/default/original/3X/2/1/21c50078c86d9326a4280d437d6334c59ee74ae4.png)

执行`mdict --version`可以查看确认是否部署成功。

---

<div class="post-metadata">

**Author:** ![匿名1487](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E5%8C%BF/aeb1de/32.png) [@匿名1487](https://forum.freemdict.com/u/%E5%8C%BF%E5%90%8D1487)\
**Post date:** [2023 年7 月 14 日 03:37 UTC](https://forum.freemdict.com/t/topic/22044/20 "2023-07-14T03:37:52Z")

</div>

都能显示已安装，可是where mdict显示

> 信息：用提供的模式无法找到文件

> [@Mandolin](#):
>
> 执行`mdict --version`可以查看确认是否部署成功

如前面所说

> ‘mdict’ 不是内部或外部命令，也不是可运行的程序或批处理文件。

是我环境变量哪里设置有问题吗？摸索好久了。

[下一页](https://forum.freemdict.com/t/topic/22044.md?page=2)
