WORD批量打印带照片证件

发布时间:2012-03-28 11:39:25   来源:文档文库   
字号:

挖掘Word功能极限

——批量打印带照片证件

 

最近单位要打印一批工作证,工作证上面要求打印每个人的照片,这可难坏了同事小谷,找我来想办法。

 

经过了解,具体工作要求是,打印一批工作证,员工基本信息来自数据库,包含员工信息的“员工数据库.mdb”中的“员工库”表如图①:

员工照片放在e:\photo文件夹里,每位员工的照片文件名和编号相对应。比如张三的照片名就是001.jpg

 

马上想到了用Word邮件合并可以批量打印员工基本信息但员工的照片如何与对应的工作证连在一起,邮件合并能完成这个要求么吗?

 

笔者先使用了在Access中插入OLE对象的方法,无法显示照片。查阅去年的电脑报,发现有一篇介绍解决类似问题的文章,说Word邮件合并不支持这项功能。作者是使用Excel来实现的,不过步骤也比较多,还需要用到一些程序代码,照片还是要一个一个的手工添加,工作量也比较大。

另外,有的文章说需要购买专用软件或使用有功能限制的共享软件。

 

难道就真的没有办法了么?经过一番探索,笔者终于找到了使用邮件合并也能实现此要求的方法。

 

实现思路:

使用过邮件合并的人都知道实质上邮件合并使用的是域,那么要想实现照片的自动处理应该从域上找突破口。

Word中插入图片可以用IncludePicture 域来实现,具体语法为IncludePicture "文件名"

插入照片的功能解决之后,问题就转换为如何实现自动转换文件名的问题。

而照片的名称为了管理的方便通常都是使用编号作为文件名,这样使用编号域即可解决问题。

那么怎么实现文件名的自动转换呢?方法就是——把两个域嵌套起来!

 

操作步骤:

1.打开word,从视图菜单选择“工具栏”,“邮件合并”;

2.从邮件合并工具栏上依次选择按钮,设置文档类型为“信函”;

3.单击打开数据源按钮浏览选取准备好的数据库;

4.然后设计主文档、排版、设置纸张,并通过邮件合并插入只包含文字的域,排版结果如图②。

5.下面是关键的一步:就是照片域的实现:

先把光标定位在要插入照片的地方,按Ctrl+F9插入一个域,输入“IncludePicture "e:\\photo\\”再按Ctrl+F9插入一个域,输入“MergeField "编号"”,光标定位到这个域之后输入“.jpg"”,最后看到的结果应该是:

{IncludePicture "e:\\photo\\{MergeField "编号"}.jpg"}

6.然后单击合并到新文档按钮,切换到生成的新文档里,咦,怎么照片处什么都没有?不会是上当了吧?

别急,保存生成文件,按Ctrl+A全选,再按F9,哈哈,每位员工对应的照片是不是全出来了。

如图③:

 

注意事项:

1      WordIncludePicture 域中文件名的路径用“\\”代替“\”。

2      IncludePicture域同样支持长文件名。比如可以写:

{IncludePicture "D:\\Documents and Settings\\Administrator\\桌面\\Word邮件合并实现批量打印带照片证件\\邮件合并\\photo\\005.jpg"}

3      IncludePicture域中的文件名路径可以使用相对路径和绝对路径。比如可以写:

{IncludePicture "邮件合并\\photo\\005.jpg"},文件保存后则会从文档所在的文件夹下去找对应文件。

4     特别注意,引号内的文件名一定不能写错甚至多加一个空格也不行,否则Word将找不到图片文件,只会出现一个红叉。比如不能写成:

{IncludePicture " e:\\photo\\{MergeField "编号"}.jpg"},因为e:前多加了空格。

 

小结:

实际上插入一张照片使用的域是{IncludePicture "e:\\photo\\001.jpg"},插入编号域用的是{MergeField "编号"},而本文把这两个域嵌套起来就成了{IncludePicture "e:\\photo\\{MergeField "编号"}.jpg"}从而实现了本文最初提出的要求。

 

拓展:

本文提到的方法既省去了麻烦的程序代码,也不需要一分钱的的共享软件费用。只要稍加变通就可广泛应用在打印学籍、证件、准考证、档案上。


Word技巧:实战准考证打印

关于带照片的准考证的打印,类似的文章较多,大多用VFP报表功能来实现。这里我们向大家介绍一种新的方法:用Word的邮件合并功能来完成带照片的准考证打印。Word的邮件合并功能大家比较熟悉,用的也较多,但有图片的数据源,如何才能实现这一功能呢?
  如图1为某学校参加会考学生的数据,该数据全部用Excel录入,照片作为其中的一个字段已放在单元格内。如果用VFP,还需将工作表转换成DBF格式,并将照片复制成一个个单独的图片文件,由于人数较多,用这种方法来实现是比较困难的。

1

  一般来说,把带照片的Excel数据文档作为数据源,用邮件合并功能是无法显示照片的。难道用邮件合并功能,就真的不能实现带照片准考证的打印了吗?经过笔者一番探索,此问题终于得到解决。
  转换数据源 设置图片格式
  1. 选中并复制图1所示的Excel数据区域,打开Word,新建一文档,命名为源数据。执行编辑粘贴命令,将Excel数据转换为Word表格。由于表格中的图片不是作为字符存在的,因此,图片无法作为数据进行邮件合并,也就是说,合并后的主文档是不能显示照片的。所以,本例的关键在于图片格式的设置。Word图片与文字的排版方式有五种。只有嵌入型方式在排版时能将图片作为文字对象来处理。所谓嵌入型是把插入的图片当做一个字符插入到文本中,在与别的图片进行排版时它被当成了文字对象,要改变其位置可以像改变文字位置一样使用键盘上的空格键来实现。因此只要将图片版式设定为嵌入型就可以了。
  2. 选中图片,点击鼠标右键,打开设置图片格式对话框,点击版式选项卡,选择嵌入型,单击〔确定〕按钮退出。用同样方法,将所有图片版式设定为嵌入型后,保存文档退出。下一步就可进行邮件合并了。
  制作打印模板 进行邮件合并
  1. 2为准考证样式,在准考证上实现数据套打,具体步骤如下:先用扫描仪将准考证扫描下来,注意扫描时比例选择100%,扫描分辨率设为75dpi即可。为确保扫描图片大小不变,扫描前用黑色钢笔或铅笔将明信片四周边缘涂上一圈黑线条。将图片扫描完成后,用Photoshop图片处理软件将黑线条之外的多余部分剪切掉,同时将黑线条擦掉。将图片大小设置为准考证实际大小,保存图片为GIFJPG格式。

2

  2. 启动Word 2000,执行插入图片来自文件,将扫描好的图片插入文档中。右击图片,选择设置图片格式命令,在弹出的设置图片格式对话框中将颜色和线条设为黑色实线,版式为衬于文字下方,大小设置和原图相同宽和高。在需要套打文字或图片的区域插入文本框,将文本框线条和颜色设为无线条颜色。双击文本框,设定文本框文字格式。一切设定完成后,打印模版就建成了。
  3. 在打印模板主文档中,执行工具邮件合并命令,打开邮件合并帮助器对话框,点击主文档右侧的〔创建〕按钮,选择套用信函选项,在弹出的对话框中按〔活动窗口〕按钮。在上述对话框中,单击数据源下面的〔获取数据〕按钮,定位并打开转换的源数据表格,一路〔确定〕下去。然后关闭邮件合并帮助器对话框。将光标移至主文档需要插入合并域的地方,点击邮件合并工具栏上的〔插入合并域〕按钮,如图3所示,完成所有合并域的插入。

3

  4. 邮件合并完成后,下一步就是打印准考证了。为避免将图片打印出来,影响效果,首先将扫描的准考证图片删除。单击邮件合并工具栏上的〔查看合并数据〕按钮,就可预览合并后的结果,并可实现数据定向打印,效果如图4所示。也可按下〔合并到打印机〕按钮,实现数据批量打印。原本需要很长时间完成的打印任务,几分钟就可以搞定了,怎么样,很简单吧。

4

本文来源:https://www.2haoxitong.net/k/doc/5546ac32ee06eff9aef80780.html

《WORD批量打印带照片证件.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式