CN103862882A - 一种热敏打印机自适应纸张打印的方法及系统 - Google Patents
一种热敏打印机自适应纸张打印的方法及系统 Download PDFInfo
- Publication number
- CN103862882A CN103862882A CN201410062310.6A CN201410062310A CN103862882A CN 103862882 A CN103862882 A CN 103862882A CN 201410062310 A CN201410062310 A CN 201410062310A CN 103862882 A CN103862882 A CN 103862882A
- Authority
- CN
- China
- Prior art keywords
- curve
- dimensional array
- value
- paper
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Electronic Switches (AREA)
Abstract
本发明公开了一种热敏打印机自适应纸张打印的方法及系统,所述方法根据纸张大小建立BYTE类型的二维数组,将要打印的曲线点转换为点值写入二维数组,所述点值标志了曲线点在纸张中的位置,根据二维数组中的点值绘制曲线,直至此曲线与纸张上的坐标重合,打印即可;所述系统包括内存模块、存储模块、绘制模块和打印模块。本发明将不同的纸张映射到内存数组中,并在内存中绘制曲线,避免在不同纸张上打印时人为调整的低效率,并提高打印的准确度,降低打印成本。
Description
技术领域
本发明涉及打印机领域,特别是一种热敏打印机自适应纸张打印的方法及系统。
背景技术
在进行胎动曲线打印时,需要打印四道曲线,分别为胎动曲线一、胎动曲线二、宫缩压基线、胎动强度曲线。根据不同的打印纸张,这四道曲线的坐标原点不同,坐标取值范围就不同。如在某此打印纸张上,胎动强度曲线标尺显示范围为30~240mm,有些显示为50~210mm。取值范围不同就会造成打印时,线条的绘制原点不同。如果不进行打印纸张调节,打印出来的曲线位置就不会正确。
目前的打印方法,需要重复性地调节打印纸张,同时,亦需要调节打印的基线,人为的调整极易造成打印的不准确,提升打印成本,而且严重影响了打印效率。
为此,在实际的临床应用中,用户在打印胎动曲线时所使用的纸张大小不同,标尺不同,胎监软件打印系统应自适应于用户所使用的纸张。
发明内容
为解决上述问题,本发明的目的在于提供一种热敏打印机自适应纸张打印的方法及系统,可以自动在不同的纸张上进行打印,自动适应不同的打印纸张而不需要人为的调整,从而提高打印精确度,提升打印效率。
本发明解决其问题所采用的技术方案是:
本发明的实施例提供了一种热敏打印机自适应纸张打印的方法,包括:
(1)根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组;
(2)根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应在打印纸张上的点值并将此点值写入至二维数组中;
(3)根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合;
(4)打印曲线。
所述步骤(1)中,在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。
所述步骤(2)具体为:
对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值;
计算所述波形值对应在打印纸张上的打印位置;
将所述打印位置的点值写入二维数组中。
所述计算所述波形值对应在打印纸张上的打印位置时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,所述曲线的打印区间最大值与最小值的差默认为打印纸张的高度,或由用户输入获取曲线的打印区间最大值与最小值。
所述将所述打印位置的点值写入二维数组中包括:
将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
将二维数组中该字节的该位置1。
本发明的实施例还提供了一种热敏打印机自适应纸张打印的系统,包括:
内存模块,用于根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组;
存储模块,用于根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应在打印纸张上的点值并将此点值写入至二维数组中;
绘制模块,用于根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合;
打印模块,用于打印曲线。
所述内存模块在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。
所述存储模块包括:
第一单元,用于对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值;
第二单元,用于计算所述波形值对应在打印纸张上的打印位置;
第三单元,用于将所述打印位置的点值写入二维数组中。
所述计算所述波形值对应在打印纸张上的打印位置时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,所述曲线的打印区间最大值与最小值的差默认为打印纸张的高度,或由用户输入获取曲线的打印区间最大值与最小值。
所述第三单元包括:
字节单元,用于将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
位单元,用于将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
写单元,用于将二维数组中该字节的该位置1。
本发明的有益效果是:
本发明采用一种热敏打印机自适应纸张打印的方法及系统,将打印纸张映射到二维数组中,二维数组的行数由纸张的高度确定,其列数则根据打印时的曲线确定,之后,将曲线映射至二级数组中,并在内存中绘制曲线,当所绘制的曲线与打印纸张的坐标重合时,则将此曲线打印出来。本发明无需对打印纸张进行调整,避免了人为调整时的误差;打印时,只需要在内存中绘制曲线,当此曲线与打印纸张上的坐标重合时,即可精确地打印在纸张上,从而提高打印的效率,节省相应的成本。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明所述方法的流程图。
具体实施方式
实施例1:
参照图1所示,本实施例提供了一种热敏打印机自适应纸张打印的方法,包括:
步骤100,根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组。
本步骤根据打印纸张的大小,将打印纸张通过二维数组存储起来。因为打印曲线时,热敏打印机的热敏头需要将一个个点打印出来,因此,只需要将所打印的点在纸张中的位置存储至二维数组,就相当于打印在纸张上。二维数组在存储位置时,只需要标示出纸张上的哪些位置需要打印,即可将这些位置识别出来并打印出来,因此,需要建立BYTE类型的二维数组,里面只需要存储二进制的数据,即可简单方便地将需要打印的位置标志出来。因为二维数组与打印纸张的对应关系,在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。
步骤101,根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应在打印纸张上的点值并将此点值写入至二维数组中。
热敏打印机在打印曲线时,会根据曲线产生对应的电气信号,将曲线上每一个曲线点的电气信号值转换后即可获取对应曲线点的波形值,每一个波形值均为整数型,可根据此波形值获取对应曲线点在打印纸张上的打印位置,并将打印位置的点值写入二维数组中。
步骤102,根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合。
步骤103,打印曲线。
所述步骤101中,将曲线点转换为对应在打印纸张上的点值时,需要根据曲线点与打印纸张的坐标关系进行转换,包括:
步骤200,对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值。
热敏打印机在打印曲线时,此曲线的电气信号值有约定的最大值与最小值,将电气信号值的最大值与最小值的差与打印纸张的高度进行对比,即可获取要打印的曲线点与打印纸张的映射关系,从而进一步获取此曲线点在打印纸张上的打印位置;但当打印的曲线有多道时,每一道曲线在打印纸上的打印区间可能不同,因此不能将曲线的电气信号值与纸张的高度做映射关系,必须将该值与每道曲线在内存中映射的可打印区间做比例关系映射,这个可打印区间的最大值及最小值可以由用户指定并动态识别,获取该值后即可开始进行波形值到打印纸张度量单位的映射。
步骤201,计算所述波形值对应在打印纸张上的打印位置。
在计算时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,如果只是打印一道曲线,则所述曲线的打印区间最大值与最小值的差可以默认为打印纸张的高度,否则,若是打印多道曲线,可由用户输入获取曲线的打印区间最大值与最小值。
步骤202,将所述打印位置的点值写入二维数组中。
因为打印的曲线为点,因此,根据步骤201中的计算公式可知,所计算的打印位置的计量单位为点,需要将此打印位置转换为可存储于二维数组中的点值,具体步骤包括:
将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
将二维数组中该字节的该位置1。
由于二维数组是BYTE类型的数组,只能存储1或0,因此,需要将打印位置转换为点值,此点值对应于二维数组中某一字节的某个位,将此位置1即可标志出此曲线点在打印纸张上的位置,在打印机打印时,可以从二维数组中识别出此位置,并绘制曲线。
所述步骤102在绘制曲线时,读取二维数组中的点值信息,即可在内存中绘制与打印纸张相对应的曲线,调整曲线的打印区间最大值与最小值,直至打印出来的曲线位置与打印纸上的坐标位置重合,随后打印即可。
所得的打印区间最大值与最小值可以写入程序配置文件或其它可存储位置,在以后打印时,取出此最大最小值,套入步骤201的公式中计算波形值并进行绘制即可。
本发明在打印曲线时,将打印纸张映射至打印机的内存中,在内存中进行曲线的绘制,直至此曲线与纸张坐标重合时,说明此曲线能够被打印在纸张的正确位置上,打印即可,避免了不同纸张的人为调整,提高了打印的精度,提升了打印效率,节省了要相应的成本。
实施例2:
本实施例提供了一种热敏打印机自适应纸张打印的系统,包括:
内存模块300,用于根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组;
存储模块301,用于根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应打印纸张的点值写入至二维数组中;
绘制模块302,用于根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合;
打印模块303,用于打印曲线。
所述内存模块301在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。热敏头打印范围的计量单位为热敏头的打印计量单位(点),比如热敏头的扫描精度为0.125mm,则每列的打印高度(即打印点数)为纸张纵向高度*(1/0.125mm)。本发明所述的行与列均为常规的纸张计算,本发明并不限于对纸张的行与列进行反向的调整。
所述存储模块包括:
第一单元,用于对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值;
第二单元,用于计算所述波形值对应在打印纸张上的打印位置;
第三单元,用于将所述打印位置的点值写入二维数组中。
所述第二单元在计算所述波形值对应在打印纸张上的打印位置时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,所述曲线的打印区间最大值与最小值的差默认为打印纸张的高度,或由用户输入获取曲线的打印区间最大值与最小值。
所述第三单元包括:
字节单元,用于将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
位单元,用于将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
写单元,用于将二维数组中该字节的该位置1。
因为二维数组为BYTE类型,因此,二维数组只能存储1或者0,而第二单元所获取的打印位置计量单位为点,需要获取此打印位置在二维数组中的字节及此字节的对应位,将此位置1,即可标志出此曲线点在打印纸张上的位置,在打印时,识别出二维数组中1的位置即可。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
Claims (10)
1.一种热敏打印机自适应纸张打印的方法,其特征在于,包括:
(1)根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组;
(2)根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应在打印纸张上的点值并将此点值写入至二维数组中;
(3)根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合;
(4)打印曲线。
2.根据权利要求1所述的方法,其特征在于,所述步骤(1)中,在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。
3.根据权利要求1所述的方法,其特征在于,所述步骤(2)具体为:
对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值;
计算所述波形值对应在打印纸张上的打印位置;
将所述打印位置的点值写入二维数组中。
4.根据权利要求3所述的方法,其特征在于,所述计算所述波形值对应在打印纸张上的打印位置时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,所述曲线的打印区间最大值与最小值的差默认为打印纸张的高度,或由用户输入获取曲线的打印区间最大值与最小值。
5.根据权利要求4所述的方法,其特征在于,所述将所述打印位置的点值写入二维数组中包括:
将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
将二维数组中该字节的该位置1。
6.一种热敏打印机自适应纸张打印的系统,其特征在于,包括:
内存模块,用于根据打印纸张的大小在打印机的内存中建立BYTE类型的二维数组;
存储模块,用于根据所需要打印的曲线点与打印纸张的坐标关系,将需要打印的曲线点转换为对应在打印纸张上的点值并将此点值写入至二维数组中;
绘制模块,用于根据二维数组中的点值自动绘制曲线,直至所绘制出来的曲线与打印纸张上的坐标重合;
打印模块,用于打印曲线。
7.根据权利要求6所述的系统,其特征在于,所述内存模块在建立二维数组时,二维数组的行数为:热敏头打印范围/ 8,其中,热敏头的打印范围为:打印纸张的高度(1/热敏头打印精度)。
8.根据权利要求6所述的系统,其特征在于,所述存储模块包括:
第一单元,用于对于任一曲线点,通过此曲线点的电气信号值获取此曲线点的波形值;
第二单元,用于计算所述波形值对应在打印纸张上的打印位置;
第三单元,用于将所述打印位置的点值写入二维数组中。
9.根据权利要求8所述的系统,其特征在于,所述计算所述波形值对应在打印纸张上的打印位置时,通过以下公式计算打印位置:
打印位置=波形值*(波形值的取值范围/(曲线的打印区间最大值-曲线的打印区间最小值) ) + 曲线的打印区间最小值;
其中,所述波形值的取值范围由曲线的电气信号值约定的最大值与最小值之差转换获取,所述曲线的打印区间最大值与最小值的差默认为打印纸张的高度,或由用户输入获取曲线的打印区间最大值与最小值。
10.根据权利要求9所述的系统,其特征在于,所述第三单元包括:
字节单元,用于将所述计算出的打印位置除以8取整数,获取此打印位置在二维数组中所处的字节数;
位单元,用于将所述计算出的打印位置与8取模运算,获取此打印位置在所述字节中具体的位;
写单元,用于将二维数组中该字节的该位置1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062310.6A CN103862882B (zh) | 2014-02-24 | 2014-02-24 | 一种热敏打印机自适应纸张打印的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062310.6A CN103862882B (zh) | 2014-02-24 | 2014-02-24 | 一种热敏打印机自适应纸张打印的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103862882A true CN103862882A (zh) | 2014-06-18 |
CN103862882B CN103862882B (zh) | 2016-06-15 |
Family
ID=50902161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410062310.6A Active CN103862882B (zh) | 2014-02-24 | 2014-02-24 | 一种热敏打印机自适应纸张打印的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103862882B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573975A (zh) * | 2016-02-29 | 2016-05-11 | 北京泰富坤科技有限公司 | 一种海图通告改正模板自动制版系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1090937A (zh) * | 1992-12-07 | 1994-08-17 | 富士通株式会社 | 产生字符的方法和装置 |
EP0955176A2 (en) * | 1998-05-04 | 1999-11-10 | Hewlett-Packard Company | InkJet dot imaging sensor |
CN1619575A (zh) * | 2003-11-21 | 2005-05-25 | 明基电通股份有限公司 | 影像打印方法及相关装置 |
CN101357543A (zh) * | 2008-09-25 | 2009-02-04 | 北京公达数码科技有限公司 | 一种热敏打印机分段驱动打印方法及系统 |
CN101365030A (zh) * | 2007-08-06 | 2009-02-11 | 佳能株式会社 | 图像处理装置及图像处理方法 |
CN102012971A (zh) * | 2010-12-03 | 2011-04-13 | 深圳市理邦精密仪器股份有限公司 | 一种打印胎心率曲线的方法及装置 |
CN102098477A (zh) * | 2009-12-14 | 2011-06-15 | 无锡中星微电子有限公司 | 一种获得像素值的方法及装置 |
CN102499640A (zh) * | 2011-10-26 | 2012-06-20 | 深圳市理邦精密仪器股份有限公司 | 一种数字化胎监条图生成方法及其系统 |
-
2014
- 2014-02-24 CN CN201410062310.6A patent/CN103862882B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1090937A (zh) * | 1992-12-07 | 1994-08-17 | 富士通株式会社 | 产生字符的方法和装置 |
EP0955176A2 (en) * | 1998-05-04 | 1999-11-10 | Hewlett-Packard Company | InkJet dot imaging sensor |
CN1619575A (zh) * | 2003-11-21 | 2005-05-25 | 明基电通股份有限公司 | 影像打印方法及相关装置 |
CN101365030A (zh) * | 2007-08-06 | 2009-02-11 | 佳能株式会社 | 图像处理装置及图像处理方法 |
CN101357543A (zh) * | 2008-09-25 | 2009-02-04 | 北京公达数码科技有限公司 | 一种热敏打印机分段驱动打印方法及系统 |
CN102098477A (zh) * | 2009-12-14 | 2011-06-15 | 无锡中星微电子有限公司 | 一种获得像素值的方法及装置 |
CN102012971A (zh) * | 2010-12-03 | 2011-04-13 | 深圳市理邦精密仪器股份有限公司 | 一种打印胎心率曲线的方法及装置 |
CN102499640A (zh) * | 2011-10-26 | 2012-06-20 | 深圳市理邦精密仪器股份有限公司 | 一种数字化胎监条图生成方法及其系统 |
Non-Patent Citations (1)
Title |
---|
林家瑞: "《微机式医学仪器设计》", 30 September 2004, 华中科技大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573975A (zh) * | 2016-02-29 | 2016-05-11 | 北京泰富坤科技有限公司 | 一种海图通告改正模板自动制版系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103862882B (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426331A (zh) | 针尖位置检测装置和探针装置 | |
JP2016507926A5 (zh) | ||
CN107391016A (zh) | 手写输入笔迹校准方法及系统 | |
CN107458553A (zh) | 一种船舶吃水值的修正方法 | |
CN102622142A (zh) | 一种应用于电容触控板的感应量补偿方法 | |
CN103862882A (zh) | 一种热敏打印机自适应纸张打印的方法及系统 | |
CN102519511A (zh) | 一种汽车仪表的指示校验装置及其校验方法 | |
CN109416623A (zh) | 用于具有不同重复长度的多个通道中的图像的布局和印刷的过程 | |
CN103856681A (zh) | 伽马校正表生成方法和图像处理装置 | |
CN107066148A (zh) | 一种提高书写板的识别精度的方法及装置 | |
US20060087497A1 (en) | Digital pen for capturing hand-drawn data | |
CN203869664U (zh) | 混凝土表面裂缝宽度测量标记贴片 | |
CN104766501A (zh) | 一种点读机及其坐标校正方法 | |
CN110889262B (zh) | 教学系统、点阵教学课件 | |
CN202372199U (zh) | 一种汽车仪表的指示校验装置 | |
CN101980133A (zh) | 双层电子文件文本选择区域偏差的检测方法和系统 | |
CN113077024B (zh) | 一种rfid打印机的rfid标签读写方法及系统 | |
CN103677686A (zh) | 信息处理装置、信息处理装置的控制方法 | |
CN103488444A (zh) | 一种钢卷标签字体大小的控制方法及系统 | |
CN101429865A (zh) | 一种内置参数的校准模拟传感器的方法 | |
CN104553375A (zh) | 打印控制方法、装置及系统 | |
CN102582245B (zh) | 快速宽幅多程打印方法及其所适用的打印装置 | |
CN102901420A (zh) | 基于多个测量仪器或多个传感器的实时多点测量系统 | |
JP2013193409A (ja) | 印刷制御装置、およびプログラム | |
CN102650941A (zh) | 影像离线编程系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |