要给几百名学生做 ID 卡,每张卡的姓名、父亲姓名、班级、学号和照片都不一样,手工做太耗时间。小编先给结论:没有 CorelDRAW、InDesign 之类的设计软件也行,用 Word 的“邮件合并”加 Excel 数据库就能批量做出带照片的 ID 卡,不需要付费的 ID 卡软件或第三方插件。和 InDesign 的数据合并不同,Word 要自动插入不同的照片,得多做一点功夫,本文把完整流程和常见问题一并讲清。
您将做出什么
- 在 Word 里设计学生 ID 卡。
- 直接从 Excel 导入学生信息。
- 自动插入姓名、班级、学号等内容。
- 为不同学生插入不同的照片。
- 在一张 A4 纸上排出多张 ID 卡。
- 解决照片重复的问题。
- 控制照片大小,防止版面变形。
- 导出可打印的 PDF。
第 1 步:在 Excel 里准备学生数据库
设计 ID 卡之前,先准备数据。打开 Excel,建立下面这些列:
| Name | Father_Name | Roll_No | Class | Photo |
|---|---|---|---|---|
| Asha Sharma | Rajesh Sharma | 1001 | 1-A | D:\Card\Photo\Photo_001.jpg |
| Rahul Verma | Mahesh Verma | 1002 | 2-A | D:\Card\Photo\Photo_002.jpg |
| Priya Singh | Suresh Singh | 1003 | 3-A | D:\Card\Photo\Photo_003.jpg |
| Aman Gupta | Dinesh Gupta | 1004 | 4-A | D:\Card\Photo\Photo_004.jpg |
您还可以加手机、地址、出生日期、血型、入学编号等 ID 卡上需要的字段。
重点:Photo 列怎么写
这是整个数据库里最关键的部分。Photo 列必须填每名学生照片的完整文件路径,例如 D:\Card\Photo\Photo_001.jpg。不要把照片直接插进 Excel 单元格,本文的方法需要 Word 能读到图片的文件位置;文件名和扩展名也要与实际照片一致。
小编提示:Excel 列标题里最好别带空格,比如用 Father_Name 而不是 Father Name。Word 并不严格要求,但这样处理合并域更省心。完成后保存工作簿,建议用 XLSX 格式。

第 2 步:在 Word 里设计 ID 卡
新建一个 Word 文档。本文用标准横向 ID 卡,尺寸为 85.6 mm × 54 mm。可以用表格、形状、背景色、学校标志和文字来设计,比如包含学校名称与标志、学生照片、姓名、父亲姓名、班级、学号等。由于要在一张 A4 上排多张卡,用表格布局通常更好控制。
- 进入“布局 → 纸张大小”,选择 A4。
- 设置合适的页边距。
- 用表格搭建 ID 卡版式。
只要页边距和间距允许,一张 A4 可以排两列四行共八张卡。85.6 × 54 mm 的卡片,卡片本身横向占 171.2 mm、纵向占 216 mm,还留有边距和裁切间隙。注意:先把第一张卡设计好,再复制到整页。

第 3 步:把 Excel 数据库连接到 Word
- 打开“邮件”选项卡。
- 点击“开始邮件合并”。
- 想一页多张卡,就选择“标签”。
- 按 ID 卡的尺寸和排布设置自定义标签。
- 点击“选择收件人 → 使用现有列表”。
- 找到您的 Excel 工作簿。
- 选择包含学生信息的工作表。
- 点击“确定”。
这样 Word 文档就连上了 Excel 数据库。也可以使用自定义的表格版式,但走“标签”流程的话,可以用“更新标签”功能把第一张卡复制到其他位置。
第 4 步:用合并域插入学生信息
把光标放在要显示姓名的位置,进入“邮件 → 插入合并域 → Name”,其余字段重复同样的操作。文档里会显示类似下面的内容:
«Name» «Father_Name» «Class» «Roll_No»
这些不是普通的文字占位符,而是连接着 Excel 的动态域。点击“预览结果”,就能看到真实的学生信息,比如 Asha Sharma、Rajesh Sharma、1-A、1001。至此,ID 卡的文字部分完成,接下来是最有意思的部分:自动插入照片。
第 5 步:自动插入学生照片
与普通文本字段不同,Word 不能直接插入 Photo 合并域来显示图片。普通地插入 «Photo»,Word 显示的只是照片的文件路径,而不是图片本身。要显示图片,需要用一个特殊的 Word 域:INCLUDEPICTURE,它能从指定路径加载图片。
先用单张照片测试
在尝试自动合并照片之前,先确认 Word 能找到并插入图片。把光标放在要放照片的位置,进入“插入 → 文档部件 → 域”,选择 IncludePicture 并指定图片路径。或者按 Ctrl + F9 创建真正的 Word 域,输入:
{ INCLUDEPICTURE "D:\\Card\\Photo\\Photo_001.jpg" } 请记住,外层的大括号必须由 Word 用 Ctrl + F9 生成,不能手动键入。按 F9 更新域,一切正确的话,Word 会显示这张照片。注意域代码里路径的反斜杠要写成双反斜杠。
但有个问题:固定的图片路径会让每张 ID 卡都显示同一张照片,因为所有记录引用的是同一个图片文件。要解决它,就要把固定路径换成来自 Excel 的动态值。
第 6 步:用动态 INCLUDEPICTURE 域插入不同照片
这是本教程的关键技巧:不再指定固定路径,而是使用 Excel 的 Photo 列。基本的动态图片域如下:
{ INCLUDEPICTURE "{ MERGEFIELD Photo }" \d } 不过,视 Word 版本和域的计算方式而定,这种方法可能显示空白图、缓存的照片或重复的图片。小编测试时,多加一层 IF 域,有助于 Word 为每条记录正确计算照片路径。
可用的域结构
{ INCLUDEPICTURE "{ IF TRUE "{ MERGEFIELD Photo }" }" \d } - INCLUDEPICTURE:指示 Word 插入图片。
- IF TRUE:提供一个嵌套域表达式,有助于计算合并后的图片路径。
- MERGEFIELD Photo:从 Excel 数据库取回照片路径。
- \d 开关:让 Word 保持与图片文件的链接。
创建这个域的步骤
- 把光标放在要显示照片的位置。
- 按 Ctrl + F9 插入外层域括号。
- 在括号里输入
INCLUDEPICTURE "。 - 再按一次 Ctrl + F9 创建 IF 域。
- 在其中输入
IF TRUE "。 - 再用 Ctrl + F9 插入一个域。
- 在最内层括号里输入
MERGEFIELD Photo。 - 在 Photo 域后关闭引号。
- 在 IF 域后关闭引号。
- 给外层的 INCLUDEPICTURE 域加上
\d开关。
用 Alt + F9 可以在显示域代码和域结果之间切换。重要:所有嵌套的域括号都必须是真正的 Word 域,把整段表达式当普通文本粘贴,是做不出可用的图片域的。

照片消失了怎么办
这是小编测试时遇到的问题之一。Word 计算 INCLUDEPICTURE 域时,域代码可能因为切换为显示结果而消失;如果照片路径没被正确计算,结果可能是空白。请检查 Photo 域名是否正确、图片是否真的在指定位置、嵌套的域括号是否正确创建,并用 Alt + F9 显示域代码,确认域仍然存在。
第 7 步:在一张 A4 上生成多张 ID 卡
第一张卡做好后,要把它复制到整页。使用 Word 标签流程的话:
- 先完成第一张卡的设计。
- 进入“邮件”。
- 点击“更新标签”。
Word 会把第一个标签的内容与格式复制到其他标签位置。您可能会发现后续卡片里多了一个域:«Next Record»,它非常重要。
“下一记录”是什么
“下一记录”(NEXT RECORD)域让 Word 移到 Excel 数据库里的下一名学生。没有它,多张卡可能都显示同一名学生的信息。例如:
- 第 1 张:Asha Sharma,学号 1001。
- 第 2 张:Rahul Verma,学号 1002。
- 第 3 张:Priya Singh,学号 1003。
- 第 4 张:Aman Gupta,学号 1004。
第一张卡通常不需要 NEXT RECORD,之后的每一张都要在开头放一个。如果您是在表格里手动复制卡片,而不是用 Word 的标签流程,就通过“邮件 → 规则 → 下一记录”插入。小编提示:每张后续卡片的开头只插一次 NEXT RECORD,而不是在每个学生字段前都插。

第 8 步:解决每张卡都是同一张照片的问题
这大概是用 Word 邮件合并处理照片时最常见的问题:姓名、班级、学号都对,但每张卡的照片都一样。小编测试时,在使用固定图片路径,或把图片域放进某些浮动文本框时会出现。
方案 1:避免固定图片路径
最终模板里不要留下 { INCLUDEPICTURE "D:\\Card\\Photo\\Photo_001.jpg" } 这类域,它永远指向 Photo_001.jpg。要改用动态的 Photo 合并域。
方案 2:使用嵌套的 IF TRUE 域
第 6 步展示的嵌套域,有助于解决图片路径的计算问题。它在小编的测试里有效,但不同 Word 版本的结果可能不同。
方案 3:别把照片域放在浮动文本框里
小编也试过把 INCLUDEPICTURE 域放进文本框:学生姓名能正确变化,但照片有时会重复。更可靠的版式是,把图片域放在正文或表格单元格里:在 ID 卡内用嵌套的两列表格,左侧放学生信息,右侧放照片,让照片跟随卡片的常规文档内容,而不是依赖独立浮动的文本框。
方案 4:合并完成后更新照片
- 点击“完成并合并”。
- 选择“编辑单个文档”。
- 选择“全部”。
- 点击“确定”。
- 在新生成的文档里按 Ctrl + A。
- 按 F9 更新图片域。
请核对每名学生的照片是否与对应记录一致。如果域仍为空白或照片重复,打印前要检查域代码和数据路径;在某些 Word 版本里,可能还需要进一步更新域,或采用基于 VBA 的方法。
第 9 步:控制合并时的照片大小
小编还发现另一个问题:点击“更新标签”或刷新 INCLUDEPICTURE 域后,图片尺寸有时会变,照片比预期大,打乱版面,甚至把姓名挤到多行。有几种办法可以缓解。
方法 1:防止 Word 表格自动调整大小
点击 ID 卡表格内任意位置,进入“表格工具 → 布局 → 自动调整 → 固定列宽”。然后右键点击表格,选择“表格属性”,点击“选项”,关闭“自动重调尺寸以适应内容”。还可以设置固定的行高和合适的单元格宽度,比如卡片是 85.6 × 54 mm,就让版面与这个尺寸一致。
注意:锁定表格尺寸能防止单元格膨胀,但不会自动缩小过大的图片。
方法 2:用 MERGEFORMATINET 保留图片尺寸
Word 认可一个额外的图片域格式开关 \* MERGEFORMATINET,它的设计用途是在 INCLUDEPICTURE 域更新时,保留现有图片结果的尺寸。示例:
{ INCLUDEPICTURE "{ IF TRUE "{ MERGEFIELD Photo }" }" \d \* MERGEFORMATINET } 请把这个开关加到已能工作的域上,而不是从头重做整个域;然后先把显示出来的照片调整到所需尺寸(例如宽 2.5 厘米、高 3.0 厘米),再测试更新。这有助于在域更新时保留尺寸,但兼容性和效果可能因 Word 版本而异。
方法 3:用 VBA 批量调整合并后的照片
生成大量卡片时,手动逐张调整照片会很烦琐,可以在邮件合并完成后用一个简单的 Word VBA 宏。按 Alt + F11,选择“插入 → 模块”,粘贴下面的代码:
Sub DTPTips_ResizePhotos()
Dim pic As InlineShape
Dim count As Long
For Each pic In ActiveDocument.InlineShapes
If pic.Type = wdInlineShapePicture Or _
pic.Type = wdInlineShapeLinkedPicture Then
pic.LockAspectRatio = msoFalse
pic.Width = CentimetersToPoints(2.5)
pic.Height = CentimetersToPoints(3)
count = count + 1
End If
Next pic
MsgBox count & " photographs resized.", _
vbInformation, "DTPTips"
End Sub 这个宏会把活动文档里的内联图片统一调整为 2.5 × 3 厘米。但要注意,它会影响所有符合条件的内联图片,包括内联的标志,并且因为不保持原始宽高比,可能拉伸图片。如果文档里还有其他图片,请在完成后的文档副本上使用。
第 10 步:能把照片放进圆形或椭圆形里吗
可以,Word 支持把图片裁剪成不同形状,包括圆形和椭圆。但邮件合并不会自动用不同学生的照片,去填充一个已有的椭圆形状。例如您的设计里有蓝色椭圆占位,INCLUDEPICTURE 域并不会自动用对应的图片替换这个椭圆。
- 邮件合并完成后,选中某位学生的照片。
- 打开“图片格式”。
- 选择“裁剪 → 裁剪为形状”。
- 选择椭圆。
- 调整图片尺寸。
- 需要在不拉伸的情况下填满椭圆时,使用“裁剪 → 填充”。
要得到正圆,就让宽高相等;要椭圆人像,则用不同的宽高。生成几百张 ID 卡时,给每张照片手动套用这种格式并不理想,更适合用专门的 VBA 方案来自动裁剪和定位。
第 11 步:预览并导出为 PDF
所有域和照片都正常后,就可以生成最终输出:进入“邮件 → 完成并合并 → 编辑单个文档”,选择“全部”,点击“确定”。Word 会生成一个包含所选学生 ID 卡的新文档。导出之前,请仔细检查:
- 每名学生的姓名和照片是否对应。
- 有没有缺失或重复的照片。
- 文字是否溢出或意外换行。
- 卡片尺寸是否一致。
- 照片是否都在预期的边界内。
- 所有 A4 页面上的版式是否对齐。
然后进入“文件 → 另存为 → PDF”,选择 PDF 格式保存,ID 卡就可以打印和裁切了。用于专业印刷时,要确保 PDF 保持预期的实际尺寸。Word 适合基础的卡片制作,但不具备专业排版软件那样专门的出血、裁切标记和色彩管理控制。
常见问题与解决办法
| 问题 | 可能的解决办法 |
|---|---|
| INCLUDEPICTURE 消失 | 用 Alt + F9 切换域代码,并检查图片路径 |
| 提示合并域无效 | 确认 MERGEFIELD Photo 与 Excel 列名完全一致 |
| 每张卡都是同一张照片 | 把固定路径换成动态照片域 |
| 姓名不同但图片重复 | 合并后更新图片域,避免用浮动文本框 |
| 照片显示过大 | 使用固定的表格尺寸和图片大小控制 |
| 更新标签后版面变化 | 关闭表格的自动调整大小 |
| 所有卡片都是同一名学生 | 检查 NEXT RECORD 域 |
| 照片显示为文件路径 | 用 INCLUDEPICTURE,而不是普通的 Photo 合并域 |
| 照片放不进椭圆 | 合并后再把图片裁剪成椭圆 |
| 找不到照片 | 核对路径、文件名、扩展名和文件权限 |
Word、InDesign、Illustrator、CorelDRAW 怎么选
| 应用 | 主要技术 | 最适合 |
|---|---|---|
| Microsoft Word | 邮件合并 + INCLUDEPICTURE | 利用 Excel 数据制作简单的学校 ID 卡 |
| Adobe InDesign | 数据合并 | 专业的多记录页面排版 |
| Adobe Illustrator | 变量 + 脚本 | 基于矢量的 ID 卡模板 |
| Adobe Photoshop | 数据组 | 图像为主、偏创意的卡片设计 |
| CorelDRAW | DTPTips VBA ID Card Maker | 控制更灵活的自动化卡片生成 |
每种应用各有优势。已经有 Word 和 Excel,邮件合并就是不额外买软件、也能生成个性化卡片的实用选项;需要高级版式、精确的图片处理、自动导出 PDF 或专门的生产控制时,其他应用的流程可能更顺畅。
常见问题(FAQ)
为什么插入 Photo 合并域,显示的却是文件路径?
因为普通合并域只会显示文本。要显示图片,需要用 INCLUDEPICTURE 域,把 Photo 合并域嵌套进去。
可以把照片直接插进 Excel 单元格吗?
不行。本文的方法需要 Excel 里存放每张照片的完整文件路径,Word 才能找到图片文件。
为什么所有卡片显示的都是同一名学生?
通常是后续卡片的开头缺少“下一记录”(NEXT RECORD)域,请检查每张后续卡片是否都有。
导出的 PDF 能直接用于专业印刷吗?
适合基础的卡片制作,但 Word 没有专业排版软件的出血、裁切标记和色彩管理控制,专业印刷前请先与印刷方确认要求。
不同 Word 版本的结果会一样吗?
不一定。嵌套域和图片更新的行为可能因版本而异,正式批量生成前,请先用少量记录测试并核对每张照片。
小编总结
Word 也许不是设计 ID 卡时最先想到的软件,但它的邮件合并功能对这项任务出乎意料地好用。准备好 Excel 数据库、可复用的卡片设计和正确的 INCLUDEPICTURE 域,就能生成个性化的学生卡,不用手工输入信息,也不用逐张插入照片。最难的往往不是合并学生数据,而是让照片正确更新并保持合适的大小;一旦理解 INCLUDEPICTURE、MERGEFIELD、NEXT RECORD 和域更新是如何配合的,整个过程就容易多了。
