
各位 OM 大家好,我是 BH5HIE。折腾 QSL 卡片的几年里,通联是快乐的,但是给远方的电台回信封:地址格式五花八门、中英文混排、邮编位置总对不齐、一次要打十几封……所以我自己写了一个跨平台的小工具 QSL Mail,专门解决"把地址整整齐齐地印到信封上"这件事。目前版本 1.2.7,已开源(MIT License),免费下载使用。
一、这是什么
QSL Mail 是一个信封制作与打印工作台,面向业余无线电的卡片寄送场景,也适用于任何需要打印标准信封回邮地址的场合。它支持:
- 收发件人的姓名、呼号、地址、邮编、手机号完整填写;
- 国内 / 国际两种寄送模式,国内模式自动显示左上角六位邮编格;
- DL、C5、#10、C6 四种常用信封规格,以及完全自定义尺寸;
- 横向 / 纵向排版,地址自动换行、框高自适应;
- 信封上实时可视化预览,收发件人区块可以直接拖动定位,也可用滑杆数值微调;
- 地址簿:常用电台联系人增删改、搜索、一键套用;
- CSV / TXT 批量导入,支持中文和常见英文列名,带批量打印队列;
- 版式模板:把常用排版存成模板,下次一键套用;
- 任务历史:每次编辑自动保存,随时找回;
- 打印前预览,打印时自动隐藏预览辅助线、折线、印章和装饰纹样,只印实际内容;
- 打印机校准:打印缩放、X/Y 偏移、安全边界、纸张选择;
- 桌面版把任务和联系人写入本地数据文件,重装或换桌面版本(Electron ↔ Lite)数据不丢。
未填写呼号时统一显示 NO CALL,不会出现空白难看的情况。
二、主界面一览
打开软件后,左边是侧边栏(制作台 / 地址簿 / 我的模板 / 打印设置 + 最近任务),中间是信息填写区,右边是实时信封预览——纸面比例、内容位置都按实际打印尺寸呈现。

预览区下方可以直接切换信封规格(DL / C5 / #10 / C6 / 自定义)、横竖方向,以及"精确定位"面板(X 位置、Y 位置、字号、框宽)。
三、快速上手:5 步打出第一封
第 1 步:填写收发件人信息
在"收件人信息"里填写对方姓名、呼号、地址、邮编(手机号可选);在"发件人信息"里填自己的回邮地址。侧边栏底部会显示你的电台身份,也可以点"从我的资料填充 ↗"一键带入保存在打印设置里的电台资料。
地址很长不用怕,预览会自动换行,框的高度跟着内容走。
第 2 步:选择寄送模式与信封规格
寄国际邮件选国际,邮编会显示在收件人地址区;寄国内信选国内,信封左上角会出现六位邮编格,并多出"国内邮编格"面板,可单独调整位置、单字大小、字间距。

信封规格按你手头的信封选:DL(220×110)、C5(229×162)、#10(241×105)、C6(162×114),或选"自定义"并在打印设置里填宽高。
第 3 步:精确定位版式
预览里的收件人 / 发件人区块可以直接用鼠标拖动;也可以用"精确定位"面板的滑杆微调 X / Y 位置、字号和框宽,选择"收件人 / 发件人"页签分别调整,一键"↺"恢复默认。

第 4 步:预览并打印
点右上角"打印信封",先弹出打印预览确认内容与尺寸,再送打印机。预览里的虚线安全边界、信封折线、邮票和装饰纹样不会印出来,保证打印页干净。
打印前建议先到"打印设置"里核对打印机、纸张和校准参数(见第六节),第一次打印用普通 A4 试一张再上信封更稳妥。

四、地址簿与快速套用
常用电台存进地址簿后,两种方式快速套用:
- 制作台右侧"快速套用"区一键填入最近联系人;
- 打开"地址簿"搜索姓名 / 呼号 / 城市,点"套用"。

联系人支持新建、编辑、删除,字段包括姓名、呼号、地址、邮编、手机号和备注(如 "Japan · Tokyo")。

五、CSV 批量导入与批量打印
一次通联很多电台时,用 CSV 批量导入最省事:
- 点收件人面板的"下载模板"拿到标准 CSV;
- 按模板填写(或用 LOTW / 日志软件导出的地址表改好列名);
- 点"导入 CSV"选择文件,第一行表头会自动识别中文或英文列名(姓名、呼号、地址、邮编、手机号,也兼容 name / callsign / address / zip 等);
- 导入后弹出批量打印队列,可勾选要打印的记录,先套用第一条到预览核对,再"批量打印"一次送出所有信封,每个信封独立一页、保持实际尺寸。
标准 CSV 格式(第一行为表头,UTF-8):
姓名,呼号,地址,邮编,手机号
Takahashi Ken,JA7QXG,1-2-3 Chiyoda Tokyo,100000,090-1234-5678
Michael Lane,VK3LQ,15 Collins St Melbourne,3000,+61 400 123 456

六、打印设置与校准
"打印设置"里集中了打印机、纸张和电台资料三块:
- 打印机:桌面版读取系统打印机列表,可选择指定打印机;
- 送入打印机的纸张:按信封实际尺寸,或 A4 / Letter(手动套打);
- 信封规格:DL / C5 / #10 / C6 / 自定义(名称 + 宽高 mm);
- 打印机校准:水平偏移 X、垂直偏移 Y(单位 mm,正数向右 / 向下)、打印缩放 80%–120%;
- 安全边界:预览中显示安全区域辅助线;
- 我的电台资料:姓名、呼号、回邮地址、邮编、手机号,保存后一键填充到发件人。

如果印出来整体偏了:用偏移把内容挪回正确位置;如果内容大小不对:用缩放微调,比折腾打印机设置直观得多。
七、我的模板
调整好的版式(信封规格 + 收发件人位置字号 + 模式 + 打印参数)可以存成模板,例如"日本 QSL 横向""国内套打 C5"。下次在"我的模板"里直接套用,不用重新调。

八、下载与安装
项目开源地址:https://github.com/net3pang/QSLMailPrint
发布页提供两个系列,界面和操作完全一致:
QSL Mail(Electron 完整版),适合需要设备级打印参数和完整安装体验:
| 平台 | 文件 |
| Windows | QSL.Mail.Setup.1.2.7.exe(安装版)、QSL.Mail.1.2.7.exe(免安装便携版) |
| macOS | QSL.Mail-1.2.7-arm64.dmg(Apple Silicon)、QSL.Mail-1.2.7.dmg / -mac.zip(Intel) |
| Linux | QSL.Mail-1.2.7.AppImage、qsl-mail_1.2.7_amd64.deb |
QSL Mail Lite(Wails 轻量版),体积小、启动快,用系统 WebView,同样支持真实打印和批量打印:
| 平台 | 文件 |
| Windows | QSL-Mail-Lite-windows-x64.exe |
| macOS | QSL-Mail-Lite-macos-arm64.zip / QSL-Mail-Lite-macos-x64.zip |
| Linux | QSL-Mail-Lite-linux-x64 |
macOS 用户注意:应用已配置 Developer ID 签名与公证流程;若打开时提示无法验证开发者,请在"系统设置 → 隐私与安全性"中允许运行,或右键打开。
九、数据保存在哪里
- 草稿、版式、模式、模板、打印设置:保存在应用本地存储;
- 任务历史与联系人:桌面版同时写入 Go JSON 数据文件,默认位置:
- macOS:
~/Library/Application Support/QSLMail/qsl-mail-data.json
- Windows:
%AppData%\QSLMail\qsl-mail-data.json
- Linux:
~/.config/QSLMail/qsl-mail-data.json
- 可用环境变量
QSL_MAIL_DB 指定数据文件位置。
Electron 版和 Lite 版共用同一套数据文件,换着用不丢任务和联系人。
十、常见问题
Q:浏览器版怎么用?
A:浏览器版面向快速体验,在项目目录运行 python3 -m http.server 4173 后打开 http://127.0.0.1:4173;不建议直接双击 index.html。浏览器版打印始终弹出系统打印框,数据存浏览器 localStorage。
Q:印出来位置偏了 / 大小不对?
A:先打印一页普通纸核对。整体偏移用"打印设置"里的 X / Y 偏移修正(mm),大小差一点用打印缩放,安全边界辅助线可以帮你判断内容是否超出可打印区域。
Q:Lite 版和完整版有什么区别?
A:功能与界面一致。完整版捆绑 Chromium、提供设备级打印参数(指定打印机、静默打印等);Lite 版用系统 WebView,体积小、启动快,macOS 打印走系统原生流程。
Q:会收费吗?
A:完全免费开源,MIT License。欢迎到 GitHub 提 Issue、建议或 PR。
73 de BH5HIE