ChemDraw 插件编译与使用指南
ChemDraw 插件编译与使用指南
一、插件的三个核心文件
一个 ChemDraw 插件由以下三个独立文件组成,缺一不可:
-
chemdraw-addin-metadata.json描述插件的元数据(名字、版本、入口 HTML 文件名等)。 -
main.js插件的逻辑脚本,必须定义onLoadBody()函数作为入口。 -
main.html插件的显示界面,引用main.js,并在<body onload>中调用onLoadBody()。只要引入正确的js文件地址,不需要一定命名为
main.js,main.html也是同理,只要在json文件中引入正确的html地址即可,也可以引入更多的静态资源去美化插件页面
二、编译打包方法
所谓的“编译”,实质上是将上面三个文件打包成一个 ZIP 压缩包,然后把后缀名改为 .chemdrawaddin。 以下是一个python编译脚本,免去手动操作。
1. 打包脚本 build_plugin.py
该脚本只负责打包当前目录下的三个固定文件。
# build_plugin.py - 纯净打包脚本import zipfileimport osimport sys# 必须存在的三个文件FILES = ["chemdraw-addin-metadata.json","main.js","main.html"]defmain():# 检查文件是否存在for f in FILES:ifnot os.path.exists(f): print(f"❌ 缺少必要文件: {f}") sys.exit(1)# 生成 .chemdrawaddin(本质是 zip) output_name = "chemdraw-plugin.chemdrawaddin"with zipfile.ZipFile(output_name, 'w', zipfile.ZIP_DEFLATED) as zf:for f in FILES: zf.write(f, arcname=f) print(f"✅ 打包完成: {os.path.abspath(output_name)}")if __name__ == '__main__': main()
2. 打包步骤
-
将你写好的
chemdraw-addin-metadata.json、main.js、main.html三个文件,和build_plugin.py放在同一个文件夹内。 -
打开命令行,进入该文件夹,执行:
python build_plugin.py -
若一切顺利,会在当前目录生成
plugin.chemdrawaddin文件。
三、插件的使用方法
1. 安装插件
打开ChemDraw,选择Add-ins—>Add-in Manager—>Add,选择刚才编译好的插件即可
2. 在 ChemDraw 中运行插件
选择Add-ins,点击插件名称即可运行
四、最简插件范例
下面提供一个可立刻测试的“Hello World”级插件,用于验证打包和运行流程是否正常。
chemdraw-addin-metadata.json
{"description": "最简单的测试插件","version": "1.0","menuItemText": "Hello World","minimumAPIVersion": "1.0","url": "main.html"}
main.js
//// main.js///* global ChemDrawAPI */functiononLoadBody() {var output = document.getElementById("output");try { output.innerText = "当前 ChemDraw JS API 版本:" + ChemDrawAPI.version; } catch (e) { output.innerText = "❌ 出错:" + e.message; }}
main.html
<!DOCTYPE html><html><metacharset="UTF-8"><scriptsrc="main.js"></script><head><style>body {background-color: WhiteSmoke;font-family: sans-serif;text-align: center;padding: 20px; }</style><title>Hello</title></head><bodyonload="onLoadBody()"><h2>ChemDraw 插件测试</h2><hr/><divid="output"style="margin-top:20px; font-family:monospace;"></div></body></html>
-
将上述四个文件放在同一文件夹。 -
运行 python build_plugin.py得到plugin.chemdrawaddin。 -
按前面方法安装并运行,即可看到版本号。
五、常见问题
-
提示“缺少文件”:请确认三个文件名完全一致(注意大小写),且和 build_plugin.py在同一目录。 -
插件菜单里没有显示:检查 metadata.json中的url是否填写的"main.html" -
报错“activeDocument 未定义”:请先打开一个化学文档再运行插件。
夜雨聆风