针式打印机打印问题剖析

时间:2022-06-26 08:22:17

针式打印机打印问题剖析

摘 要:简述了针式打印机在办公应用中的常见问题及解决办法,对其出现的走纸定位问题进行了具体的分析阐述,并给出了编程和手动两种解决方法。

关键词:针式打印机;打印问题;走纸;Windows;页形;函数

中图分类号:TP11文献标识码:A文章编号:1672-3198(2008)07-0329-02

1 引言

随着科技的发展,激光打印机与喷墨打印机已取代针式打印机成为目前主流的办公设备。但由于针式打印机具有不少技术优势,使得它成为部分行业中最理性的选择,不过在一些日常的办公过程中,其存在的打印问题也让很多用户苦恼。

2 常见问题概述

在日常工作中,使用针式打印机时经常遇到的问题及分析如表1所示。

3 打印走纸问题剖析

3.1 走纸偏离现象

地下水整编软件是用vb编写的,其中利用Printer.Height和Printer.Width属性对打印纸张进行设置,利用Printer.CurrentX、Printer.CurrentY属性设置文字的打印位置,它的成果是以特定报表格式用针式打印机打印输出的。当在Windows98下进行成果连续打印时,不会出现打印问题;然而在Windows 2000/XP下连续打印时,走纸就会出现问题,连续走纸时会一页比一页低,于是后面的内容会打在裁纸线上,不能按设计要求进行分页装订。

3.2 原因分析

在Windows98下用针式打印机打印输出正常,说明打印机本身确实是支持自定义纸张格式的,并且设定的纸张大小在打印机支持的范围之内,排除打印机本身问题。

通过分析,原来这是使用自定义纸张类型进行连续打印出现的问题。Windows9X是基于DOS架构的,可以灵活地自定义页面大小,通过程序语言(例如VB的Printer.CurrentX、Printer.CurrentY)打印机能够准确定位到指定位置;而基于NT内核的Windows 2000/XP必须先将自定义页面定义为页形(form)才能使用,否则无法精确地按照你所想的进行打印。

表1 针打常见问题分析

问题描述出现原因解决方法

总是处于缺纸状态,装上打印纸也报缺纸,或不能自动装打印纸。传感器表面被灰尘遮住引起的或损坏取下导纸板,打开后盖,用镊子夹着干净小棉球轻轻擦干净传感器表面即可;如还报缺纸,那就更换传感器。

工作过程中打印头突然停下,并同时发出“咯吱”声,重新开机可继续,但还会出现上述现象。(1)打印头导杆上灰尘太多,或使用时间长缺乏油,引起磨擦力增大,打印头不能正常来回走动所致。

(2)滚筒表面出现高低不平的沟阻挡打印头。(1)先关机,在打印头导杆上加上适量的油,用手来回移动打印头,再用棉纸或软布清除上面的油污;然后再加上适量的油即可。(2)更换滚筒。

打印的字模糊不清,调紧间距调杆,出现色带把打印纸蹭破。(1)色带问题(2)打印头距离印字辊太近(3)打印头的出针口被油污堵塞(1)更换色带

(2)调整间距调杆

(3)关机,将打印头卸下,用无水酒精浸泡去除堵塞杂物,再清洗凉干装上即可;若发现打印针陷入针孔较深,须换针。

自检正常,但不能联机打印。检查打印机数据线是否松动或损坏插拔数据线,若不正常,更换一根新线。

从打印驱动程序方面分析,打印机将其默认设置存储在名为DEVMODE的结构中。定义或选择页面大小时,会涉及此结构的四个成员(dmPaperSize、dmPaperLength、dmPaperWidth、dmFormName)。dmPaperLength和dmPaperWidth成员在所有系统上都包含值,但只能在Windows9X系统上选择或定义大小,因此在Windows9X系统上,可以用高度(长度)和宽度或预定义的纸张大小来定义自定义页面大小。dmFormName成员仅在运行于NT内核的系统上有效,dmPaperSize成员可在任何32位Windows操作系统上使用,只要分配给它的值对应于该系统上定义的大小或页形,因此在运行Windows 2000/XP的系统上不能直接自定义纸张,只能使用定义的页形来指定页面大小。

3.3 解决方法

3.3.1 通过编程方式解决

使用AddForm函数添加自定义页形(即自定义纸张),然后选择特定的页形进行打印即可。必须具有对该打印机驱动程序的完全访问权限才能调用AddForm函数。

选择页形可以通过三种编程方式:

(1)检索打印机的DEVMODE结构,设置dmFormName成员,并使用ResetDC函数将此页形设置为打印机设备上下文(DC)的当前页形。选择此页形作为DC的当前页形时,它仅对调用进程有效,而不会更改驱动程序的默认设置。对于需要更改打印机设置的应用程序,建议使用此方法。此方法仅适用于自定义页形。

(2)调用SetForm函数更改打印机驱动程序的默认页形。使用此方法时,需要具有对该驱动程序的完全访问权限。更改了默认页形后,将影响所有使用该驱动程序进行打印的应用程序。

(3)将自定义页形的系统定义值赋给Printer.PaperSize。使用AddForm 函数添加自定义页形时,将为该页形分配它自己的编号(如果可用),可通过将该值赋给Printer.PaperSize来选择该页形。

编程中使用的主要函数说明见表2。

表2 函数说明

函数说明

EnumForms返回当前打印机支持的所有页形的信息。

AddForm在系统中添加一个自定义页形。该页形上的数据存储在注册表中。

DeleteForm删除一个自定义页形。但是,此函数不会删除操作系统定义的标准页形。

GetForm检索有关特定页形的信息。

SetForm设置指定打印机的默认页形信息。

3.3.2 通过手动方式解决

此方式不需要再编程设置,并且适用于几乎所有的打印机,自定义纸张的具体步骤如下:

(1)在控制面板中打开“打印机”;

(2)单击“文件”菜单,选“服务器属性”,弹出“打印服务器 属性”对话框;

(3)选中“创建新格式”;在“格式描述”中输入您为新创建的格式起的名称;

(4)选择单位(公制或英制),按照需要在“纸张大小”和“打印机区域边距”中输入相应的数值;

(5)单击“保存格式”,您可以看到新创建的纸张格式已经列在“所有格式”里了;

(6)单击“确认”关闭“打印服务器 属性”对话框。

完成如上步骤后,就可以在打印时通过“打印首选项->布局->高级->纸张/输出->纸张大小”来选择自定义的纸张了。通过以上的设置,应用软件就可以按照你自定义的纸型打印了。如果你与其他机器使用的是共享打印机,只需要在打印机所挂接的机器上设置即可。需要注意的是,一般打印机是软件设置优先。对打印中的设置是驱动设置,会被页面设置中的软件设置覆盖掉。

4 结语

随着计算机设备的更新换代和技术水平的日新月异,计算机操作系统主流也在发生改变,目前使用最多的是WindowsXP,当我们在编写程序时也要考虑运行环境和兼容问题,对以前不支持在Win2000/XP系统下使用设备的软件,要及时进行改进以适应工作需要。

毫无疑问,在很多领域,传统的针式打印机依然是绝对的首选。在我们日常办公过程中,有的软件进行报表打印同样离不开针式打印机,另外单位在其它方面也可以采用它以降低打印成本。打印技术在发展,随着厂商对针式打印机各方面的逐步改进,出现打印问题的机率会逐渐下降,相信用户将会更好地体验低成本的针打应用。

参考文献

[1]尚吉刚,方成亮.针锋再现――2006针式打印机应用指南[J].中国计算机报,2006.

上一篇:Excel在统计学教学中的应用探讨 下一篇:集中供热锅炉房供电系统设计