CN104508622A - Epos打印 - Google Patents

Epos打印 Download PDF

Info

Publication number
CN104508622A
CN104508622A CN201380040204.1A CN201380040204A CN104508622A CN 104508622 A CN104508622 A CN 104508622A CN 201380040204 A CN201380040204 A CN 201380040204A CN 104508622 A CN104508622 A CN 104508622A
Authority
CN
China
Prior art keywords
printer
print
document
api
network
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
Application number
CN201380040204.1A
Other languages
English (en)
Other versions
CN104508622B (zh
Inventor
中村英雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN104508622A publication Critical patent/CN104508622A/zh
Application granted granted Critical
Publication of CN104508622B publication Critical patent/CN104508622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1295Buffering means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1805Receiving printer configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1807Receiving job control commands relating to the print image preparation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00095Systems or arrangements for the transmission of the picture signal
    • H04N1/001Systems or arrangements for the transmission of the picture signal specially adapted for transmission via digital wireline networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00095Systems or arrangements for the transmission of the picture signal
    • H04N1/00103Systems or arrangements for the transmission of the picture signal specially adapted for radio transmission, e.g. via satellites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

与HTML兼容的脚本语言用于定义能够与用于打印操作的智能模块直接通信而无需经历网络浏览器的打印选择选项的方法或对象。打印API库提供了用于嵌入到网页中的所需方法/对象。智能模块可以是单独电子装置或者可以是合并到打印机中的智能装置。智能模块可直接或通过网络管理多个打印机,并且其用于提供用于在网页上的打印API与目标打印机之间翻译/传达通信的通信桥。打印API知道智能模块的固定IP地址,并且定义打印文档或打印命令且借助于已知IP地址将其直接发送到智能模块。

Description

EPOS打印
技术领域
本发明涉及通过TCP/IP网络的打印。更具体地,涉及在销售点(POS)网络中的打印。
背景技术
网络打印指的是在计算机网络上的打印资源共享。网络打印的早期应用是如图1所示的打印服务器或打印机服务器。打印机服务器11是在公共计算机网络17上将客户端计算机13a与打印机15a连接的装置。即,客户端计算机13a将打印作业发送到打印机服务器11;打印机服务器11接收和保持(即,缓存(spool))打印作业;以及当打印机15a变得可用时,打印机服务器11将所保持的打印作业发送到打印机15a进行打印。应理解,打印机服务器11可在多个打印机15a至15i当中管理来自多个客户端计算机13a至13n的多个打印作业,以及计算机网络可包括有线和无线通信链路两者。各个打印机15a至15i可以是本地打印机和/或网络打印机,并且可经由直接线缆连接(诸如通过并行线缆、USB线缆、专有线缆等)或者通过有线网络连接(标准化网络类别线缆(即,CAT 5、5e、6)上的IEEE 802.11等)或通过无线网络连接(IEEE 802.11a/b/g/n等)或通过其它已知无线通信链路(蓝牙、家庭RF、HyperLan等)而直接连接到打印服务器11。
打印机服务器11负责在等待目标打印机变得可用的同时对打印作业进行排队(即,缓存)。打印机服务器11还可负责对其队列中的打印作业进行重排序或删除,记录打印机活动(诸如所打印的页数、打印时间等)。结果,打印机服务器11一般支持多个工业标准和/或专有打印协议,因此还可包括用于在其管理下的每个打印机的打印机驱动器。尽管打印机服务器良好地适合于私人网络,但是随着工业已发展朝向使用普遍的因特网协议TCP/IP用于公共网络和私人网络,变得期望通过因特网接口将打印能力合并在公共网络中。
“网络浏览器”是基于超文本标记语言(HTML)显示“网页”的普遍因特网接口(广泛用在万维网上,即,WWW或因特网)。标记语言是基于文本的语言系统,其使用“标签”以人类阅读者易读的文本格式提供机器可执行指令。例如,标签可指示网络浏览器关于如何对信息进行格式化以显示在网页上(即,如何在显示屏上显示网页信息)或者如何指定期望的可执行功能。
随着因特网增长,变得期望提供比在HTML的早期版本上可用的功能更多的功能。为了解决该需要,Java语言被适配成提供可以嵌入在HTML网页内的全包含机器代码(fully contained machine code)。这些小的应用称为小型应用程序(applet)。Java是在许多应用中(诸如在用于小型装置和设施的控制应用中)使用的全特征、面向对象编程(即,OOP)语言。
创建用于控制其装置的Java应用的公司想要使得第三方制造商对其装置的使用变得容易而不用发布关于其装置的控制程序的私有信息。这通过使用对其控制应用提供简化接口从而简化了第三方制造商对其控制程序的使用的应用程序接口(API)库来实现。基本上,API是具有指定输入和输出要求的公共代码片集合,诸如在OPP语言中的对象或类中所找到的以及为编码应用提供接口的公共代码片。以此方式,用户不需要对特定软件工具进行重编码或者甚至也不需要知道软件是如何编码的。用户仅需要知道如何调用软件工具、为其传递任何指定参数、使其执行期望功能以及接收任何指定输出。尽管Java使得网页更动态,但是Java应用(和小型应用程序)是以机器代码而不是脚本提供的编译程序,因此不是人类用户容易地易读的。因此,小型应用程序的使用降低了HTML代码的可读性。
以脚本语言形式提供了Java的一些动态能力的JavaScript解决了该问题。由于JavaScript是脚本语言,因此HTML可以执行JavaScript代码而无需对JavaScript代码进行预处理(即,编译),因此其保持为脚本(即,文本)形式。如Java小型应用程序一样,JavaScript可嵌入在HTML网页内,并且当下载HTML网页时或者响应于触发事件,网络浏览器将执行JavaScript。JavaScript允许网页动态地修改其内容、或者将内容添加到当前网页、或者发送来自该网页的内容。JavaScript和其它脚本语言通过在网络浏览器与网络浏览器运行的操作系统之间提供桥而允许网页变得交互性更强。这允许网页并入来自用户的本地装置环境的信息,诸如装置位置和网络浏览器和/或操作系统认为提供到网页安全的其它用户信息。
利用JavaScript,软件开发者开始提供被设计成执行特定任务的完整脚本应用。当这些脚本应用被封装为用于插入网页中的单元时,它们有时被称为“窗口小部件(widget)”。由于每个窗口小部件是完整脚本代码,因此以与在Java小型应用程序中如何使用输入和输出类似的方式,其可具有预期输入集合和可能输出列表。结果,还已开发了用于脚本代码的API。例如,公司可产生脚本代码库以用特定装置来操作、以及提供有利于将其脚本代码集成到第三方开发者的代码中的API列表。因此,第三方开发者不需要理解公司的装置是如何工作的或者知道如何对其编程;第三方开发者可以通过使用其所提供的API和/或窗口小部件(即,脚本代码)而快速地插入对公司装置的控制。
这导致了从网络浏览器进行打印(即,HTML打印)的话题。大部分网络浏览器在其工具条(即,用于调用不同任务的可选“软件按钮”的可视列表)上提供打印功能,并且当用户选择该打印功能时,网络浏览器通过本地装置的操作系统的打印API而访问本地装置的打印机。即,网络浏览器不知道什么类型的打印能力对其所运行的装置可用,即使知道,操作系统出于安全原因也不与网络浏览器共享该信息。因此,为了网络浏览器进行打印,其必须将该功能请求传递到操作系统,其可通过调用操作系统的打印接口来将该功能请求传递到操作系统。
因此,从网页进行的打印需要经历如图2所示的打印机对话框。打印机对话框19提供打印机信息、以及为用户提供从其选择对所打印的文档进行格式化的选项。这些选项是根据打印机的能力确定的,而打印机的能力是由打印机驱动器提供的。例如,打印机对话框19可提供在多个可用打印机当中进行选择的打印机选择选项21。框21a至21c分别可提供关于所选择的打印机的信息,诸如其状态、类型和位置。其它选项可包括如选择按钮23指示的以黑白或彩色进行打印的选择。如选择按钮25和27所指示的,用户还可输入要打印的页面范围,和/或选择纸类型或纸朝向。
一些网络浏览器可提供快速打印选项,其中,通过替代将打印请求发送到默认打印机以及接受所有打印机的默认设置而发送当前显示的网页进行打印,而无需利用打印机对话框。该请求被发送到本地操作系统的打印API,并且如果其支持快速打印并且其分配了默认打印和其默认设置,则其将接受网页进行打印。不幸的是,发送整个网页进行打印。因此,网页开发者没有控制如何打印网页或者打印网页的哪个部分、或者一般打印的是什么材料。网页开发者还不知道什么打印机可用或者其打印能力,网络开发者也不知道各个打印机的默认设置可能是什么。总之,网络浏览器经历本地装置的操作系统(OS),并且假设在本地OS上将访问适当的打印机驱动器。
已开发了XML打印机以降低对打印机驱动器的依赖性以及更好地控制打印文档的格式化。XML打印机不限于网页,并且可以用作本地虚拟打印机。即,XML打印机如物理打印机一样对打印请求进行响应,但是替代产生物理打印文档,其产生打印文档应该看起来如何的脚本语言描述。这与如何使用HTML脚本语言来定义显示屏上的网页的外观和格式类似。该脚本语言描述然后可以被发送到支持XML打印的物理打印机以产生物理打印输出。XML打印机通常用于维持跨越不同平台和文档格式的打印的一致性。例如,XML打印文档文件将保证以Microsoft WordTM准备的文档将与以Adobe AcrobatTM准备的同一文档打印相同。
发明内容
技术问题
因此,如果具有XML打印文档文件和能够读取XML打印文档文件的打印机(或打印机驱动器),则可将XML打印文档文件发送到打印机而无需打印机驱动器要求。打印机(或其打印机驱动器)将读取文档应该看起来如何的脚本描述,以及生成其自己的打印图像进行打印。尽管XML打印机降低了对打印机驱动器的依赖性因此有利于网络上的打印,但是XML打印机没有为网页开发者提供任何额外打印控制。即,网页开发者仍无法控制来自脚本应用或窗口小部件内的打印,而是替代地依赖于作为打印接口的网络浏览器。
JavaScript对于这点没有提供任何辅助。尽管网络浏览器可与本地操作系统接口以访问本地打印机的API或者调用XML打印机来创建XML打印文档,但是为了安全原因,网络浏览器没有与其Java脚本共享该信息。即,JavaScript的作业传统上用于定义关于网页的信息以及提供动态功能,Java脚本的作业不是打印文档。网络浏览器的作业是控制打印功能,因此其没有与内部脚本应用共享该控制。结果,至今JavaScript应用无法直接控制打印机。其必须替代地请求网络浏览器做出打印请求,网络浏览器进而将该请求转发到本地OS,本地OS然后调用打印对话框来设置本地/网络打印机(真实的或虚拟的)。
尽管存在这些困难,仍朝向提供网络打印(即,因特网上的打印)前进。例如,因特网打印协议(IPP)提供了用于在因特网上进行远程打印的标准网络协议,这消除了对每个用户机器上的单独打印驱动器的需要。IPP提供了对各种打印需要的控制,诸如管理打印作业、介质大小、分辨率等,并且旨在为用户提供如同打印机是本地一样的类似方法和操作。基本上,IPP是定义网络打印协议的开放标准的集合,并且如果打印机供应商采用了该标准,则IPP允许用户实时地与该供应商的打印机进行交互以得到关于打印机的能力,询问关于打印作业的状态或者取消已提交的打印作业。如在本地打印机的情况下一样,该对话将通过打印机对话框。
用于提供因特网打印的另一方法称为Google Cloud PrintingTM(谷歌云打印TM)或GCP。这是由GoogleTM(谷歌TM)公司提供的服务,并且其通过将打印请求发送到谷歌公司、使得谷歌公司准备打印作业(限于PDF打印作业)以及将打印作业转发到用户预先登记的打印机,基本上允许开发者将打印能力并入其网页和服务中。GoogleTM公司提供允许开发者快速插入所需代码的API,并且其使用标准打印对话框来创建和提交PDF打印作业。如将理解的,这表示Google能够访问要打印的所有文档,这对用户提出了安全性和私密性的问题。此外,注意,该服务的另一限制在于,其需要使得要打印的文档已在网络上而不仅仅是在用户的计算机上。因此,该服务无法用于打印不在网络上的本地生成文档。
所需要的是用于增加用户对来自网络浏览器内的打印的控制的方式。
进一步优选的是,开发者直接通过脚本应用(诸如JavaScript窗口小部件)而直接访问和控制打印机,而不需要将打印请求发送到本地网络浏览器。
还期望网页内的脚本应用能够直接生成和格式化要打印的信息以及将信息直接发送到打印机,而不需要打印对话框或者受网页内的内容的限制。
还期望用户具有直接网络打印能力,而不依赖于管理打印作业的任何第三方实体。
问题的解决方案
以上目的是在如下方法中满足的:该方法用于在网络应用中创建文档以及通过网络将文档发送到打印机,该网络应用由网络浏览器来执行,该方法包括以下步骤:提供被适配成连接到打印机的智能模块,该智能模块被配置成设置了地址、接收文档以及将文档发送到打印机;将应用程序接口(API)嵌入在网络应用中,该API提供被配置成指定智能模块的地址的地址属性元素、被配置成将用于控制打印机的命令添加到命令缓冲器中以及通过将命令累积在命令缓冲器中来创建文档的第一方法元素、和被配置成将文档发送到智能模块的第二方法元素;借助于嵌入在网络应用中的第一方法元素而创建文档;借助于嵌入在网络应用中的第二方法元素而将文档发送到具有地址属性元素指定的地址的智能模块;以及将来自智能模块的文档发送到打印机。
优选地,网络应用设置在智能模块或网络服务器中,并且智能模块是电子装置。
该方法还可包括在打印机中在纸上打印文档的步骤。命令之一可以是用于将用于打印的文本添加到命令缓冲器的文本命令。另外,命令之一可以是用于将用于设置文本的属性的参数添加到命令缓冲器的文本设置命令。文本设置命令可包括第一文本设置参数,该第一文本设置参数指定文本的开始位置、对齐、语言、字体、风格、缩放或大小中的至少一个。文本命令还可包括指定是否旋转文本或者是否实现文本的平滑化的第二文本设置参数。
命令之一还可以是用于将在打印机中送纸的指令添加到命令缓冲器的送纸命令。
另外,命令之一可以是用于将用于打印的光栅图像添加到命令缓冲器的图像命令。
优选地,API包括半色调属性元素,并且图像命令根据半色调属性元素的设置而将在网络应用中渲染的彩色图像转换成用于打印的光栅图像数据。半色调属性元素可指定抖动、误差扩散和用于将彩色图像转换成光栅图像数据的阈值中的任一个。
此外,优选地,API包括亮度属性元素,并且图像命令根据亮度属性元素的设置而将彩色图像转换成用于打印的光栅图像数据。亮度属性元素可例如指定用于校正光栅图像数据的亮度的在范围0.1至10中的伽马值。
在优选实施例中,打印机包括用于登记可由键码标识的标记的非易失性(即,NV)存储器,并且其中,命令包括用于将键码添加到命令缓冲器以用于打印标记的标记命令,所添加的键码指定(即,标识)NV存储器中登记的标记。
命令之一还可以是用于将打印条形码的指令添加到命令缓冲器的条形码命令,所述条形码命令包括条形码参数,该条形码参数指定条形码的类型、条形码的宽度和高度和/或要转换成条形码的数据中的至少一个。
另外,命令之一还可以是用于将打印二维符号的指令添加到命令缓冲器的符号命令,所述符号命令包括符号参数,该符号参数指定二维符号的类型、二维符号的误差校正水平或要转换成二维符号的数据中的至少一个。
命令还可包括用于将绘制第一方向上的第一线的指令添加到命令缓冲器的第一线命令和用于将绘制第二方向上的第二线的指令添加到命令缓冲器的第二线命令,第一线命令包括指定第一线的开始位置和结束位置以将其定义为线段的第一线参数,并且第二线命令包括指定第二线的开始位置并且不包括第二线的任何结束位置以将其定义为连续线的第二线参数。优选地,命令中的另一个是用于添加结束由第二线命令开始的绘制第二线的指令的第三线命令,该第三线命令包括第三线参数,该第三线参数指定第二线的结束位置。
此外,优选地,命令之一是用于将切换为页面模式的指令添加到命令缓冲器的页面模式命令,所述页面模式是如下打印模式:其中,定义了打印区域,数据被布置在打印区域中,并且在批操作中打印该打印区域,所述页面模式命令还将用于添加打印区域的指令添加到命令缓冲器,该指令包括指定打印区域的坐标。优选地,命令之一是用于将结束页面模式的指令添加到命令缓冲器的第二页面模式命令。命令还可包括用于将页面模式的设置添加到命令缓冲器的第三页面命令,第三页面命令包括指定页面模式中的打印方向的第三页面参数、或指定页面模式中的打印开始位置的坐标。命令还可包括用于将在页面模式中绘制线或矩形的指令添加到命令缓冲器的第四页面命令,该第四页面命令包括指定页面模式中的线或矩形的开始位置和结束位置的坐标。第四页面命令可包括指定线或矩形的类型的第四页面参数。
另外,命令之一可以是用于将裁切纸的指令添加到命令缓冲器的切纸命令,所述切纸命令包括指定在不送纸的情况下裁切纸或者在送纸之后裁切纸的切纸参数。
此外,优选地,抽屉连接到打印机,并且命令之一是用于将弹开抽屉的指令添加到命令缓冲器的抽屉弹开命令。抽屉弹开命令优选地包括指定施加用于打开抽屉的信号的导通持续时间的第一抽屉参数。优选地,抽屉通过两个连接器连接到打印机,并且抽屉弹开命令包括指定连接抽屉和打印机的连接器中的任一个的第二抽屉参数。
另外,打印机可具有蜂鸣器,并且命令之一可以是用于将接通蜂鸣器的指令添加到命令缓冲器的蜂鸣器命令。蜂鸣器命令可包括指定重复蜂鸣器的启动的模态或次数的蜂鸣器参数。
地址属性元素可被配置成设置超时时期,并且该方法可优选地包括如下步骤:响应于超时时期的过去而取消用于在由地址属性元素指定的打印机中打印文档的打印作业。
地址属性元素还可被配置成设置打印机的装置标识以用于将文档发送到该打印机。API还可包括接收事件元素,该接收事件元素被配置成从打印机获得包括打印结果、错误代码和/或打印机状态中的一个的响应消息,该方法还可包括如下步骤:从连接到由地址属性元素指定的智能模块的打印机接收响应消息。优选地,错误代码和/或打印机状态指示自动可恢复错误和/或不可恢复错误中的一个的发生。此外,优选地,打印机具有盖,并且错误代码和/或打印机状态指示盖何时打开。另外,优选地,打印机具有自动切纸器,并且错误代码和/或打印机状态指示何时在自动切纸器中发生了错误。打印机还可具有检测纸是否在打印机中的传感器,并且错误代码和/或打印机状态指示传感器何时检测到没有纸。错误代码和/或打印机状态还可指示发送到智能模块的文档是否包含语法错误。
优选地,错误代码和/或打印机状态指示是否不存在具有装置标识的打印机。如果打印机具有连接到智能模块的通信端口,则错误代码和/或打印机状态可指示是否在通信端口上检测到错误。此外,优选地,地址属性元素被配置成设置用于取消用于在打印机中打印文档的打印作业的超时时期,并且错误代码和/或打印机状态指示是否过去了超时时期。错误代码和/或打印机状态还可指示打印是否成功完成。假设打印机被适配成通过连接器连接到抽屉,则错误代码或打印机状态可指示连接器的预定引脚的状态。错误代码或打印机状态还可指示打印机是否是离线或等待使得回到在线,或者是否没有从打印机接收到响应。打印机还可具有用于送纸的开关。在该情况下,错误代码和/或打印机状态可指示是否正通过开关的操作送纸。打印机还可具有蜂鸣器,在该情况下,错误代码和/或打印机状态可指示蜂鸣器是否接通。打印机或智能模块可具有被配置成缓存用于打印文档的打印作业的缓存器(spooler),并且错误代码或打印机状态可指示缓存器是否已停止。
优选地,API包括用于初始化API的构造器。在该情况下,该方法还可包括在创建文档的步骤之前初始化API的步骤。
目的还可在如下方法中被满足:该方法用于在网络应用中创建文档,以及通过网络将文档发送到打印机,该网络应用由网络浏览器来执行,该方法包括以下步骤:提供被适配成连接到打印机的智能模块,该智能模块被配置成设置了地址、接收文档以及将文档发送到打印机;将应用程序接口(API)嵌入在网络应用中,该API提供用于创建文档的第一对象、用于处理第一对象元素的第一方法元素、用于发送文档的第二对象、被配置成指定智能模块的地址的地址属性元素和用于处理第二对象的第二方法元素,第一对象包括命令缓冲器,第一方法元素被配置成将用于控制打印机的命令添加到命令缓冲器中以及通过将命令累积在缓冲器中来创建文档,第二方法元素被配置成将缓冲器中的文档发送到智能模块;通过嵌入在网络应用中的第一方法元素来创建文档;通过嵌入在网络应用中的第二方法元素将文档发送到具有地址属性元素指定的地址的智能模块;以及将来自智能模块的文档发送到打印机。
优选地,在该方法中,API包括用于初始化第一对象的第一构造器和用于初始化第二对象的第二构造器,该方法还包括以下步骤:在创建文档的步骤之前初始化第一对象;以及在发送文档的步骤之前初始化第二对象。
该方法还可包括在打印机中在纸上打印文档的步骤。
API还可包括接收事件元素,接收事件元素被配置成从打印机获得包括打印结果、错误代码或打印机状态中的一个的响应消息,并且该方法还可包括以下步骤:从连接到由地址属性元素指定的智能模块的打印机接收响应消息,第二对象在接收响应消息的步骤之前被初始化。
目的还可在如下方法中被满足:该方法用于在网络应用中创建文档以及通过网络将文档发送到打印机,该网络应用由网络浏览器来执行,该方法包括以下步骤:提供被配置成设置了地址的打印机;将应用程序接口(API)嵌入在网络应用中,该API提供:(i)地址属性元素,被配置成指定打印机的地址,(ii)第一方法元素,被配置成将用于控制打印机的命令添加到命令缓冲器中,以及通过将命令累积在缓冲器中来创建文档,以及(iii)第二方法元素,被配置成将缓冲器中的文档发送到智能模块;通过嵌入在网络应用中的第一方法元素来创建文档;通过嵌入在网络应用中的第二方法元素将文档发送到具有地址属性元素指定的地址的打印机;以及打印文档。
目的还可在如下系统中被满足:该系统用于在网络应用中创建文档以及通过网络将文档发送到打印机,该网络应用由网络浏览器来执行,该系统包括:智能模块,被适配成连接到打印机,该智能模块被配置成设置了地址;网络服务器,通过网络连接到智能模块,网络应用安装在网络服务器中;应用程序接口(API),嵌入在网络应用中,该API包括:(i)地址属性元素,被配置成指定智能模块的地址,(ii)第一方法元素,被配置成将用于控制打印机的命令添加到命令缓冲器中,以及通过将命令累积在缓冲器中来创建文档,以及(iii)第二方法元素,被配置成将缓冲器中的文档发送到智能模块,其中,通过第一方法元素来创建文档、并且通过第二方法元素将文档发送到具有地址属性元素指定的地址的智能模块,并且智能模块将文档发送到打印机。
优选地,抽屉连接到打印机,并且命令之一是用于将弹开抽屉的指令添加到命令缓冲器的抽屉弹开命令。
打印机还可具有蜂鸣器,并且命令之一可以是用于将接通蜂鸣器的指令添加到命令缓冲器的蜂鸣器命令。
以上目的还可在如下方法中被满足:该方法用于将以HTML5Canvas(画布)渲染的图像发送到打印机以及由打印机来打印图像,该方法包括以下步骤:提供被适配成连接到打印机的智能模块,该智能模块被配置成设置了地址;将应用程序接口(API)嵌入在网络应用中,该API提供:(i)第一属性元素,被配置成指定用于将所渲染的图像转换成光栅图像数据的转换方法,(ii)第二属性元素,被配置成指定智能模块的地址,以及(iii)方法元素,被配置成将图像转换成光栅图像数据以及将所转换的光栅图像数据发送到智能模块;根据由第一属性元素指定的转换方法而通过方法元素将图像转换成光栅图像数据;根据由第二属性元素指定的地址而通过方法元素将光栅图像数据发送到智能模块;以及将来自智能模块的光栅图像数据发送到打印机。
以上目的还可在用于在应用中创建或编辑文档的方法中被满足,该文档被适配成通过网络被发送到打印机,该应用被适配成由网络浏览器来执行,该方法包括以下步骤:提供被适配成要添加到命令缓冲器中的控制打印机的命令,并且文档是通过将命令累积在命令缓冲器中而创建的;显示设置屏幕,设置屏幕被实现为将打印机的地址设置为地址属性元素;显示编辑屏幕,编辑屏幕被实现为编辑和/或创建文档,该编辑屏幕包括图标,每个图标与控制打印机的命令之一相对应;显示输入框,输入框被实现为如果在编辑屏幕上选择了与命令对应的图标中的指定图标,则在编辑屏幕上输入命令的参数;将具有在编辑屏幕中选择或输入的参数的命令添加到命令缓冲器。
优选地,该方法还包括如下步骤:将在编辑屏幕上编辑或创建的文档转换成XML语言代码以及显示该代码。该方法还可包括如下步骤:将在编辑屏幕上编辑或创建的文档的第一部分转换为打印预览以及显示打印预览。可选地,该方法还可包括如下步骤:显示用于将文档发送到具有地址属性元素指定的地址的打印机的按钮。
以上目的还可在如下方法中被满足:该方法用于在网络应用中创建文档,将文档发送到打印机以及通过网络获得打印机的状态,该网络应用由网络浏览器来执行,该方法包括如下步骤:提供被适配成连接到打印机的智能模块(智能模块优选地是物理电子装置),智能模块被配置成设置了地址、接收文档以及将文档发送到打印机;将应用程序接口(API)嵌入在网络应用中,该API包括:(i)地址属性元素,被配置成指定智能模块的地址,(ii)状态事件元素,被配置成检查打印机的一个或多个状态,以及(iii)打开方法元素,被配置成启用操作状态事件元素;将智能模块的地址设置为地址属性元素;以及启用操作状态事件元素以接收打印机的指定状态。
优选地,API包括被配置成禁止状态事件元素的操作的关闭方法元素,该方法还包括禁止状态事件元素的步骤。
API还可包括指定用于更新打印机的状态的时间间隔的间隔属性元素,该方法还包括设置间隔属性元素中的时间间隔的步骤。
API还可包括指定最近从打印机获得的状态的状态属性元素。
另外,该方法还可包括设置打印机的装置标识的步骤,其中,地址属性元素被配置成指定打印机的装置标识以用于接收由装置标识指定的打印机的状态。
可选地,网络应用可设置在智能模块或网络服务器中。
打印机的状态可包括指示打印机是在线还是离线的状态。
另外,打印机可具有盖,并且打印机的状态可包括指示盖是打开还是关闭的状态。
优选地,API还提供:(i)第一方法元素,被配置成将控制打印机的命令添加到命令缓冲器中以及通过将命令累积在缓冲器中来创建文档,以及(ii)第二方法元素,被配置成将缓冲器中的文档发送到智能模块。在该情况下,该方法还可包括如下步骤:通过嵌入在网络应用中的第一方法元素创建文档;通过嵌入在网络应用中的第二方法元素将文档发送到具有地址属性元素指定的地址的智能模块;以及将来自智能模块的文档发送到打印机。
该方法还可包括在打印机中在纸上打印文档的步骤。在该情况下,打印机的状态可包括指示打印机中的纸供应是否结束或几乎结束的状态。优选地,抽屉连接到打印机,并且命令之一是用于将弹开抽屉的指令添加到命令缓冲器的抽屉弹开命令。打印机的状态可包括指示抽屉是打开还是关闭的状态。
以上目的还可在如下系统中被满足:该系统用于在网络应用中创建文档,将文档发送到打印机以及通过网络获得打印机的状态,该网络应用由网络浏览器来执行,该系统包括:被适配成连接到打印机的智能模块,该智能模块被配置成设置了地址;通过网络连接到智能模块的网络服务器,网络应用安装在网络服务器中;嵌入在网络应用中的应用程序接口(API),该API包括:(i)地址属性元素,被配置成指定智能模块的地址,(ii)状态事件元素,被配置成检查打印机的一个或多个状态,以及(iii)打开方法元素,被配置成启用状态事件元素的操作;其中,在打开方法元素启用了状态事件元素的操作之后,由状态事件元素指定的打印机的状态从由地址属性元素指定的打印机被发送到网络浏览器。
优选地,打印机具有盖,并且打印机的状态包括指示盖是打开还是关闭的状态。
此外,优选地,API还提供:第一方法元素,被配置成将控制打印机的命令添加到命令缓冲器中以及通过将命令累积在缓冲器中来创建文档;以及第二方法元素,被配置成将命令缓冲器中的文档发送到智能模块,其中,通过第一方法元素来创建文档并且通过第二方法元素将文档发送到具有地址指定的地址的智能模块。
优选地,抽屉连接到打印机,并且命令之一是用于将弹开抽屉的指令添加到命令缓冲器的抽屉弹开命令。
打印机的状态还可包括指示抽屉是打开还是关闭的状态。
其它目的和收获连同对本发明的更全面理解将通过参考结合附图进行的以下描述和权利要求而变得更明显和更好理解。
附图说明
在附图中,相同的附图标记指的是相同的部分。
图1示出了典型打印机服务器布置。
图2示出了典型打印机对话框。
图3是根据本发明的第一实施例。
图4是根据本发明的第二实施例。
图5示出了命令缓冲器并且示出了根据本发明的控制命令的一些示例。
图6示出了应用在POS系统中的本发明的具体示例。
图7示出了可借助于ePOS-Print API(ePOS-打印API)实现的打印类型的示例。
图8示出了可借助于ePOS-Print-Canvas API(ePOS-打印-画布API)实现的打印类型的示例。
图9是根据本发明的实施例的打印流程的示例。
图10示出了根据本发明的系统构造示例。
图11示出了将网络应用登记到TM智能打印机中。
图12提供了根据本发明的使用ePOS-Print API创建的样本程序屏幕的示例。
图13是可响应于图12的设置按钮的启动而调用的设置窗口的示例。
图14示出了使用ePOS-Print API的第一样本打印输出和使用ePOS-Print-Canvas API的第二样本打印输出。
图15示出了示出从其初始显示状态直到打印作业完成的处理步骤流程的样本流程图。
图16示出了示出用于发券的处理步骤流程的样本流程图。
图17是根据本发明的操作环境的示例。
图18示出了用于配置针对样本程序的环境设置的处理流程。
图19是用于TM智能打印机的网络设置的示例。
图20是装置设置的示例。
图21示出了可配置的装置设置的示例。
图22示出了用于使用ePOS-Print API进行编程的样本工作流程。
图23示出了使用HTML<脚本>标签来嵌入ePOS-Print API的示例。
图24示出了用于创建打印文档的程序代码片段的示例。
图25示出了用于创建文本打印文档的脚本代码的示例。
图26提供了创建图形打印文档的样本脚本代码。
图27示出了用于创建页面模式打印文档的样本代码。
图28提供了用于传送打印文档的样本代码。
图29提供了具有关于打印机结束点地址的细节的表格。
图30提供了用于实现召回(callback)功能的样本代码。
图31提供了用于召回函数的错误处理方法的示例。
图32示出了使用状态事件通知功能来检查打印机状态而不进行打印。
图33示出了用于使用ePOS-Print-Canvas API进行编程的工作流程。
图34示出了用于嵌入ePOS-Print-Canvas API的样本代码。
图35提供了用于以HTML5-Canvas(HTML5-画布)进行渲染的样本代码。
图36提供了用于传送打印文档进行打印的样本代码。
图37示出了用于打印结果收条和召回函数的样本代码。
图38提供了用于通过召回函数进行错误处理的样本代码。
图39提供了使用状态事件通知功能来检查打印机状态而无需进行打印的样本代码。
图40、41、42a和42b列出了ePOS-Print API的一些方法和部件。
图43提供了用于ePOS-Print Builder(ePOS-打印构建器)对象的构造器的样本代码。
图44提供了对齐参数的类型的示例。
图45提供了ePOS-Print Builder对象的返回值。
图46示出了例外错误。
图47提供了示出了文本对齐的使用的样本代码。
图48提供了将换行间距设置为30点的样本代码。
图49示出了用于旋转参数的布尔值。
图50提供了用于设置文本旋转的样本代码。
图51示出了以字符串指示不可打印字符的转义序列。
图52提供了示出addText(data(数据))的使用的样本代码。
图53提供了用于指定目标语言的参数“lang”的示例。
图54提供了示出方法addTextLang(lang)的使用的样本代码。
图55示出了用于字体参数的样本值。
图56提供了示出addTextFont(font(字体))方法的使用的样本代码。
图57示出了用于参数“smooth(平滑)”的可能值。
图58提供了示出方法addTextSmooth(smooth)的使用的样本代码。
图59描述了用于dw的参数值。
图60描述了用于dh的参数值。
图61提供了用于将文本大小设置为双倍宽度和双倍高度的样本代码。
图62示出了用于参数“width(宽度)”的可能值。
图63示出了用于参数“height(高度)”的可能值。
图64示出了用于设置水平缩放x4和垂直缩放x4的样本代码。
图65示出了用于参数“reverse(反转)”的可能值。
图66示出了用于参数“ul”的可能值。
图67示出了用于参数“em”的可能值。
图68示出了用于参数“color(颜色)”的可能值。
图69示出了用于设置下划线风格的样本代码。
图70示出了用于将打印位置设置在从左端起120个点处的样本代码。
图71示出了用于每隔30个点送纸的样本代码。
图72示出了用于每隔3行送纸的样本代码。
图73示出了用于在打印字符串之后开始新行的样本代码。
图74示出了用于addImage方法内的参数“color(颜色)”的样本值。
图75示出了用于addImage方法内的参数“mode(模式)”的样本值。
图76提供了用于在页面模式中打印宽度为300个点且高度为300个点的图像的样本代码。
图77示出了示出addLogo方法的使用的样本代码。
图78至图81提供了条形码类型的示例。
图82示出了用于hri参数的一些可能值。
图83提供了示出如何打印条形码的样本代码。
图84和图85提供了用于addSymbol方法内的参数“data(数据)”的2D(二维)码类型描述的示例。
图86提供了用于addSymbol方法内的参数“type(类型)”的样本值。
图87提供了用于addSymbol方法内的参数“level(水平)”的样本值。
图88提供了用于打印二维符号的样本代码。
图89示出了用于addHline方法的一些风格参数。
图90示出了用于绘制双水平线的样本代码。
图91提供了用于addVLineBegin方法的参数风格的示例。
图92提供了用于在从左端起的100个点和200个点处绘制细垂直线的样本代码。
图93提供了用于addVLineEnd方法的参数风格的示例。
图94提供了用于在从左端起的100个点和200个点处绘制细垂直线的样本代码。
图95示出了用于在页面模式中打印字符“ABCDE”的样本代码。
图96示出了用于指定原点为(100,50)、宽度为200个点且高度为30个点的打印区域以及打印字符“ABCDE”的样本代码。
图97提供了用于方法addPageDirection的参数“dir”的一些示例。
图98提供了用于通过将字符“ABCDE”顺时针旋转90度来打印这些字符的样本代码。
图99示出了用于指定(50,30)用于通过addPageArea方法指定的区域中的打印开始位置以及打印字符“ABCDE”的样本代码。
图100提供了方法addPageLine中的“style(风格)”参数的示例。
图101提供了用于在开始位置(100,0)与结束位置(500,0)之间绘制细实线的样本代码。
图102提供了方法addPageRectangle中的“style(风格)”参数的示例。
图103示出了用于以细双线来绘制矩形的样本代码,其中,以开始位置(100,0)和结束位置(500,200)作为其顶点。
图104示出了用于方法addCut的样本类型。
图105提供了用于执行送纸切纸操作的样本代码。
图106示出了用于方法addCut的参数“drawer(抽屉)”的示例。
图107示出了用于方法addCut的参数“time(时间)”的示例。
图108示出了用于将100毫秒的脉冲信号发送到抽屉弹开连接器的引脚“2”的样本代码。
图109示出了蜂鸣器模态的示例。
图110示出了在方法addSound中如何设置参数“repeat(重复)”的示例。
图111示出了用于重复声音模态“A”三次的样本代码。
图112示出了示出方法to String()的使用的样本代码。
图113示出了要应用于单色(两色调)打印的半色调处理方法的指定。
图114示出了用于将半色调类型设置为误差扩散的样本代码。
图115提供了用于将亮度设置为2.2的样本代码。
图116提供了用于清除命令缓冲器并且将其重置为其初始状态的样本代码。
图117提供了示出ePOSPring(address(地址))的使用的样本代码。
图118提供了示出send(request(请求))方法的使用的样本代码。
图119提供了示出open()方法的使用的样本代码。
图120提供了示出close()方法的使用的样本代码。
图121提供了地址属性的使用的示例。
图122提供了使用启用属性的示例。
图123提供了使用间隔属性的示例。
图124提供了使用状态属性的示例。
图125示出了响应对象的一些属性。
图126示出了成功的值。
图127示出了代码的值。
图128示出了状态的值。
图129示出了用于创建和发送打印文档以及在消息框中显示打印结果的样本代码。
图130列出了错误对象的一些属性。
图131示出了用于创建和发送打印文档、以及当发生通信错误时在消息框中显示HTTP状态代码的样本代码。
图132提供了使用onstatuschange(状态改变中)属性的示例。
图133提供了使用ononline(在线中)属性的示例。
图134提供了使用onoffline(离线中)属性的示例。
图135提供了使用onpoweroff(断电中)属性的示例。
图136提供了使用foncoverok(盖无问题中)属性的示例。
图137提供了使用oncoveropen(盖打开中)属性的示例。
图138提供了使用onpaperok(纸无问题中)事件的示例。
图139提供了使用onpapernearend(纸接近用完中)事件的示例。
图140提供了使用onpaperend(纸用完中)事件的示例。
图141提供了使用ondrawerclosed(抽屉关闭中)事件的示例。
图142提供了使用ondraweropen(抽屉打开中)事件的示例。
图143提供了ePOS-Print-Canvas API的一些部件的列表。
图144是示出新的ePOS-Print-Canvas API对象的创建的样本代码。
图145示出了参数“cut(切纸)”的示例。
图146示出了参数“mode(模式)”的示例。
图147提供了用于打印画布(ID=’myCanvas’)的样本代码。
图148是示出open()方法的使用的样本代码。
图149是示出close()方法的使用的样本代码。
图150是示出地址属性的使用的样本代码。
图151是示出启用属性的使用的样本代码。
图152是示出间隔属性的使用的样本代码。
图153是示出状态属性的使用的样本代码。
图154示出了一些半色调属性。
图155是示出半色调属性的使用的样本代码。
图156是示出亮度属性的设置的样本代码。
图157示出了响应对象的一些属性。
图158示出了成功的值。
图159示出了代码的值。
图160示出了状态的值。
图161示出了用于打印画布(ID=myCanvas)以及在消息框中显示打印结果的样本代码。
图162列出了错误对象的一些属性。
图163示出了用于打印画布(ID=myCanvas)以及当发生通信错误时在消息框中显示HTTP状态代码的样本代码。
图164是示出onstatuschange(状态改变中)事件的使用的样本代码。
图165提供了使用ononline(在线中)属性的示例。
图166提供了使用onoffline(离线中)属性的示例。
图167提供了使用onpoweroff(断电中)事件的示例。
图168提供了使用oncoverok(盖无问题中)事件的示例。
图169提供了使用oncoveropen(盖打开中)事件的示例。
图170提供了使用onpaperok(纸无问题中)事件的示例。
图171提供了使用onpapernearend(纸接近用完中)事件的示例。
图172提供了使用onpaperend(纸用完中)事件的示例。
图173a提供了使用ondrawerclosed(抽屉关闭中)事件的示例。
图173b提供了使用ondraweropen(抽屉打开中)事件的示例。
图174提供了用于根据本发明的ePOS打印编辑器的样本主页面(即,index.html或主页)。
图175示出了从对根据本发明的ePOS打印编辑器的“Setting(设置)”选项卡的选择而得到的设置屏幕。
图176提供了概括由设置屏幕提供的一些选项的表格。
图177提供了根据本发明的ePOS打印编辑器的编辑屏幕的另一视图。
图178示出了根据本发明的ePOS打印编辑器的样本预览图像。
图179提供了在选择了打印选项卡的情况下的当前ePOS打印编辑器的样本视图。
图180示出了根据本发明的输入屏幕。
图181提供了在选择了API选项卡的情况下的当前ePOS打印编辑器的样本视图。
具体实施方式
先前,为了从因特网上的网页进行打印,用户通常需要经历网络浏览器接口上的网络浏览器选择打印按钮或者经历因特网上的第三方打印服务。网络浏览器控制对诸如打印机的本地资源的访问。基本上,网络浏览器用作到本地操作系统的接口,本地操作系统进而控制对任何安装的打印机驱动器的访问。如果希望通过因特网上的第三方打印服务进行打印,则要打印的文档需要也存在于因特网上而不仅仅是在用户的本地装置上。在任一情况下,用户需要经历用于从可用登记打印机和打印选项当中进行选择的打印机对话框,这些可用登记打印机和打印选项对希望从其进行打印的网页来说都不是已知的。
为了改进网络打印的能力,本发明尽力增加网络应用(即,网页)的能力,并且特别地,增加在网页内执行的脚本应用(即,窗口小部件、方法等)的能力以直接控制网络打印机和非网络打印机,而不需要经历网络浏览器的打印选择按钮或依赖于第三方因特网打印服务。
优选实施例中的打印机可以是本地打印机和/或远程打印机。即,本发明允许网页脚本应用创建打印文档并且与打印机通信并控制打印机,而不需要来自网络浏览器的明确打印许可或打印辅助。除了由脚本应用直接创建的打印文档之外,打印文档可能不需要存在于因特网上以进行打印。作为优选实现,当在以下讨论中提及脚本应用时,其被讨论为以作为基于Java的脚本语言的JavaScript语言来实现。然而,应理解,本发明可使用本领域公知的其它脚本语言来实现。
由于本发明为网页添加了打印能力并且通常经由网络浏览器来访问网页,因此本发明的优选实施例包括能够运行网络浏览器的本地计算装置。为了便于利用现有的网络和非网络打印机对本发明的使用,此外优选的是,网页经由接口框(即,装置,设备或模块)进行通信,该接口框能够接收来自网页的打印指令以及将打印指令翻译成用于所连接的打印机的适当通信格式/语言。优选地,接口框提供了用于网页与打印机之间的通信的翻译服务,并且还提供了用于创建适合于给定打印机的打印文档的任何所需帮助。由于接口框具有计算和做决定的能力,因此它是智能装置。因此,为了易于讨论,接口框在下文中称为“智能模块”。
如果打印机不是非网络打印机,则本地打印机经由智能模块(优选地是物理计算设备/装置)连接到本地计算装置(其上安装了网络浏览器)。替选地,如果打印机是网络打印机,则优选的是,智能模块仍用作与本地打印机的通信接口。此外,在网络环境中,智能模块可用作用于多个(网络和非网络)打印机的通信接口。
尽管本发明可在具有网络浏览器和打印机的任何计算环境中来实现,但是为了易于说明以及作为优选实施例的示例,本发明在这里被描述为在零售环境内来实现。特别地,本发明被描述为在销售点(即,POS)系统或POS网络中来实现。然而,应理解,本发明可在其它联网和非联网计算/打印环境内来实现。
在POS系统中,销售点装置位于各个结账台处以实现商业交易并且维持交易记录。结账台因此是零售环境(或零售建立)内的地点,在该零售环境中,物理顾客向商品和/或服务的商家进行支付。POS系统可包括可被认为是合并了计算和/或联网能力的电子现金出纳机的多个POS装置。POS装置通常具有针对顾客的记录打印收条(或交易汇总)的相邻(或集成)收条打印机。为了适应不确定长度的交易汇总,收条打印机通常是“卷纸打印机”(即,在纸的卷或“纸卷”上进行打印的打印机)并且在所打印的交易汇总的结束时从纸卷裁切打印部分。然而,应理解,本发明与平板打印机和其它非卷纸打印机兼容。
POS装置通常在POS系统内被联网并且与中央服务器通信,该中央服务器记录交易以用于记账和库存目的,并且另外可将诸如产品价格(或者更新以产生价格)、券、促销广告、产品信息(诸如产品描述和/或可用性)和其它数据的信息提供到POS装置。中央服务器可以是局域网和/或广域网的一部分,并且可以可选地被分配在多个服务器中。可以想到,中央服务器也可经由因特网来访问。
由于POS系统网络包括专用的和计算机化的POS装置,因此其可能对于购买、设置、维持和升级来说是复杂的和高成本的。通过在同一POS系统网络内使用不同型号的POS装置(来自不同制造商)和不同型号的打印机(来自不同制造商)而进一步增加了实现和维持POS系统的成本和难度。如所理解的,不同的POS装置可包括具有不同能力的不同操作平台(即,在不同操作系统OS上运行),并且不同型号的打印机可具有对于不同操作平台的不同驱动器要求/能力。
以下讨论示出了本发明可如何降低设置、维持和升级POS系统网络、尤其是结合了不同型号的POS装置和不同型号的打印机的POS系统网络的成本和复杂度。
在优选实施例中,POS系统在网络上来实现,并且经由在网络服务器内维持的并且可由用作用于实现和记录销售交易的POS装置的远程网络终端访问的网页应用(即,网页)来管理商业交易。替选地,网页可维持在智能模块中,并且POS装置可从智能模块访问网页。在任一情况下,每个POS装置经由网络浏览器来访问网页,并且使用网页以对打印机进行打印。优选地,商业交易也经由网页来输入和记录。
通常与POS装置相邻的打印机可由网络服务器来控制或者可由POS装置来控制。在这两种情况下,优选地,如以下更全面地说明的,经由智能模块来进行与打印机的通信。
替选地,本发明也可在不使用任何网络服务器的情况下来实现。在该情况下,智能模块可将网页提供到POS装置,并且在POS装置与打印机之间传递通信。该实现没有排除POS装置是计算机网络的一部分。
以此方式,POS装置的操作平台不是限制性因素;所有所需要的是POS装置能够运行网络浏览器而与其操作平台无关。实际上,POS装置可使用具有最小计算功率的简化计算装置来实现。例如,POS装置可被实现为具有基本计算和通信能力的预算计算机平板(budget compuertablet)。
参照图3,网页31被示出在网络浏览器33内。优选地,网络浏览器33在可用作POS装置的计算装置(即,诸如图4所示的诸如计算装置51的数据处理装置)内运行。如本领域公知的,网络浏览器33提供了诸如因特网的TCP/IP网络内的用于访问网页的接口,并且通常包括可输入用于访问期望网页的网络地址的地址域35。例如,网页31可维持(即,设置)在智能模块37中并且被下载到网络浏览器33。替选地,网页31可被合并到网络浏览器33所位于的计算装置中(即,默认位于网络浏览器33所位于的计算装置中)。网页31优选地以诸如HTML和/或其变型的标记语言来书写,并且支持诸如JavaScript的脚本语言。
在本实施例中,网络浏览器33经由智能模块装置37与一个或多个打印机(PrinterID_1和PrinterID_2)通信。可选地,这些打印机可以是POS打印机(即,收条打印机)并且可以可选地打印到各个纸卷39a和39b上。
优选地,智能模块37经由至少一个打印应用程序接口(即,打印API、加标签的API_1至API_3)与网页31通信。为了图示目的,打印应用程序接口API_1至API_3被示出为嵌入在网页31内,并且它们提供了到各个打印脚本应用(诸如Print_Script_App_1至Print_Script_App_3)的接口。如果期望,可经由单个打印API来组合和访问所有打印脚本应用的功能。此外,优选地,打印脚本应用是提供如下所述的各种打印机功能的Java脚本应用,并且经由至少一个打印API来访问。API_1至API_3(及其各自的打印脚本应用Print_Script_App_1至Print_Script_App_3)可作为打印API库的一部分被提供到网页开发者以合并该打印能力。
API_1至API_3为网页31提供了打印接口,并且打印脚本应用Print_Script_App_1至Print_Script_App_3被设计为提供打印能力和/或与智能模块37通信。打印API和打印脚本应用可一起作为单元被嵌入在网页31内,诸如API_1+Print_Script_App_1和API_2+Print_Script_App_2所示的。在该情况下,二者均可以以共同术语“API”或“打印API”来定址,并且该“API”因此将处理与网页31的接口、打印文档的创建和打印文档到智能模块37的发送。
如本领域技术人员可理解的,打印API可以是具体软件类(如在面向对象语言中所定义的)的实例,并且可借助于构造器(如在OOP语言中定义的)来创建打印API。在一个实施例中,打印API可包括用于初始化API的构造器。
在另一实施例中,打印API及其相应的打印脚本应用可被分开以使得打印API嵌入在网页31内,但是其相应的打印脚本应用被维持在智能模块37内以分离。这通过以下来示出:API_3嵌入在网页31内,而其相应的打印脚本应用Print_Script_App_3被维持在智能模块37内。以此方式,Print_Script_App3所需的一些计算资源可从网络浏览器33所位于的装置被卸载并且被传递到智能模块37。在该情况下,API_3将用于定义打印文档所需的所有数据发送到Print_Script_App3,Print_Script_App3然后将在智能模块37内创建相应打印文档以及将所得到的打印文档发送到指定打印机。打印API与其相应打印脚本应用的分离还允许智能模块37内的脚本应用的更新、而不会改变网络浏览器内的打印API。在该情况下,可为网络开发者提供打印API库以合并到其网页中,但是相应打印脚本应用的实现的细节可被维持在智能模块37中或者网络服务器中,因此被保持为对网络开发者隐藏。
在优选实施例中,每个打印API直接与智能模块37通信。因此,智能模块37被配置成接收(即,被分配)被示出为IP_ADD_1的网络地址。该网络地址可以是静态地址或动态分配地址。
每个打印API优选地提供有地址属性元素(即,地址数据域),该地址属性元素被配置成接收智能模块37的网络地址,每个打印API可通过该网络地址而将其通信定址到智能模块37。如果智能模块37的网络地址是静态的(即,固定的),则每个API内的地址属性元素可手动来设置。替选地,如果网络地址是动态的,则网络地址解析服务可用于确定智能模块37的网络地址,并且使得在每个打印API的地址属性元素中输入解析后的地址。此外,优选地,地址属性元素被配置成设置超时时期。该超时时期可指示被分配用于从智能模块接收确认或其它响应的最大时间量。优选地,打印API包括用于响应于超时时期过去而取消打印作业(或所提交的打印请求)的步骤或处理。
此外,优选地,每个打印机可由名称或标识码(ID)或(网络)地址来标识。为了易于讨论,打印机ID和/或打印机网络地址由参考字符“PrinterID_1”和“printerID_2”来指定。此外,为了易于讨论,当使用打印机ID时,应理解,由于本发明想到取代打印机ID而使用打印机网络地址,因此可替换“打印机网络地址”。此外,优选地,名称、打印机ID和/或打印机地址被提供到打印API。打印API因此可通过名称、打印机ID和/或打印机网络地址来指定目标打印机,以接收打印请求或打印文档。
在一个实施例中,打印API的地址属性元素被扩展,从而还接收目标打印机的ID(或网络地址)。例如,地址属性元素可被配置成设置目标打印机的装置标识(ID或网络地址),该装置标识将其指定为要打印的文档应该被发送到的打印机。打印API还可具有接收事件元素,该接收事件元素被配置成从打印机获得响应消息。响应消息可包括打印结果、错误代码和/或打印机状态。错误代码或打印机状态可指示所发生的自动可恢复错误或不可恢复错误之一。因此,打印API可经由地址属性元素指定的智能模块而从打印机接收响应消息。以此方式,经由在地址属性元素中指定的智能模块而进行目标打印机与打印API之间的通信。另外,地址属性元素可被配置成设置超时时期。该超时时期可指示被分配用于从智能模块或从打印机接收确认或其它响应的最大时间量。优选地,打印API包括用于响应于超时时期过去、取消用于在由地址属性元素指定的打印机中打印文档的打印作业(或所提交的打印请求)的步骤或处理。
替选地,打印API可将打印请求发送到智能模块37而无需指定特定打印机,并且智能模块37可基于向其发送打印请求的装置的邻近信息或者通过确定哪个打印机可用(即,不繁忙)而选择打印机。在该情况下,智能模块37优选地知道网页运行的装置的位置和打印机的位置,以便选择距发出打印请求的装置最近的打印机。此外,替选地,一旦智能模块37选择了用于发出打印请求的特定装置的打印机,则所选择的打印机优选地变为被分配给该装置,并且来自同一装置的所有未来打印请求被发送到同一选择的打印机。
由于嵌入在网页31内的每个打印API可以借助于其地址属性元素(其保持智能模块37的网络地址)而直接与智能模块37通信,因此每个打印API可在任何时间提交打印请求、而无需用户干预或者无需将打印请求提交到其所在的网络浏览器33。例如,在结账台处,在产品项被网络浏览器标识(即,扫描)并且被添加到总体交易汇总时,打印API可提交用于打印正被汇总以购买的每个产品项的描述。因此,网页31可产生任何数据(包括新生成的数据和/或显示屏的一个或多个部分)的打印文档,并且在任何期望的时间提交用于打印的打印文档。例如,API可以以多个片段(即,在不同时间)生成打印文档的部分,然后将这些片段组合和/或布置为合成打印文档以发送到打印机。替选地,由于在本实施例中优选的打印机是滚筒打印机,因此打印API可将多个片段发送到打印机进行打印,并且在打印会话结束时(即,在结账台处的商业交易结束时)发送用于裁切纸卷的打印部分的指令。
在操作中,打印脚本应用(或者如果API与其相应打印脚本应用被组合作为单个单元则为API本身)包括第一方法元素(即,第一可执行例程或可执行方法),该第一方法元素用于通过将打印机控制指令累积(即,添加)到命令缓冲器中然后执行所累积的打印机控制指令来定义打印文档。优选地,打印脚本应用(或API)还包括第二方法元素(即,第二可执行例程),该第二方法元素被配置成将所定义的打印文档发送到智能模块37。打印文档因此可通过依次执行第一和第二方法元素来创建。
在本讨论中,所述软件方法的全部或一些可由在面向对象语言中所定义的软件对象来取代。
智能模块37优选地被实现为数据处理装置(包括但不限于:控制单元电路和/或中央处理单元;和/或易失性/非易失性电存储器;和/或数据/控制寄存器;和/或信号总线;和/或电子通信接口;和/或一个或多个查找表)。智能模块37可被实现为在其自己的物理包装中的独立单元,或者可替选地被合并到(或者物理上附接到)打印机、服务器或其它电子装置。在操作中,智能模块37从嵌入在网页31内的打印API接收打印文档,将其转换(如果需要)成用于指定(或者指派)打印机的适当打印文档,并且将其发送到指派打印机进行打印。可选地,智能模块37可包括用于每个打印机的打印机驱动器,并且利用打印机驱动器来定义适当打印文档。替选地,智能模块37可从打印API接收命令缓冲器的记录,通过执行命令缓冲器中的打印机命令而创建打印文档,并且将所创建的打印文档发送到适当打印机。此外替选地,从打印API接收的命令可以是诸如格式化信息和打印内容数据的一般打印描述,并且智能模块然后可基于指派打印机的能力而确定用于生成与一般打印描述最类似的打印文档的所需打印机命令,然后将所生成的打印文档发送到指派打印机。
在以上讨论中,所创建的打印文档可以是XML打印文档或位图打印文档或本领域公知的其它文档描述格式。
如所示出的,打印机PrintID_1和PrintID_2可以是分别在纸卷39a和39b上进行打印的POS打印机。打印机还可具有诸如(全部或部分可拆卸)盖41、抽屉43、蜂鸣器45和切纸器(或自动切纸器)47的附件。这些附件优选地可经由上述的并且由智能模块37转发到打印机的打印机命令来控制。在目标打印机可发送到打印API的错误代码或打印机状态当中,如上所述,可以是盖打开的指示。类似地,错误代码或打印机状态可指示在自动切纸器中发生了错误。打印机还可具有检测纸是否在打印机中的传感器,并且错误代码或打印机状态可指示传感器是否没有检测到纸。替选地,错误代码或打印机状态可指示发送到智能模块37的文档是否包含语法错误。替选地,错误代码或打印机状态可指示是否不存在所提交的打印机ID指定的打印API的目标打印机。
如所理解的,PrintID_1和PrintID_2具有用于与智能模块37通信的通信端口。错误代码或打印机状态可指示是否在通信端口上检测到错误。错误代码或打印机状态还可指示是否过去了上述超时时期。替选地,错误代码或打印机状态可指示成功完成了打印操作。如上所述,打印机可通过可具有至少一个引脚的连接器连接到抽屉。在该情况下,错误代码或打印机状态可指示连接器的预定引脚的状态。
替选地,错误代码或打印机状态可指示打印机离线或者等待返回在线,或者没有从打印机接收到响应。
PrintID_1和PrintID_2还可具有用于送纸39a和39b的开关,并且错误代码或打印机状态可指示何时通过开关的操作来送纸。错误代码或打印机状态还可指示蜂鸣器45何时接通(即,启动)。打印机或智能模块37可具有被配置成缓存用于打印文档的打印作业的缓存器,并且错误代码或打印机状态可指示缓存器是否已停止。
在图3的实施例中,本发明被实现为可联网或者可不联网的系统。即,网络浏览器33运行的本地装置可以是没有连接到任何特定中央服务器的独立装置。与本地装置是独立装置还是与其它POS装置或服务器联网无关,智能模块37可用作在打印机与网页31之间转发和翻译通信(以及生成任何需要的命令和指令)信号的打印机控制框。
图4示出了本发明的网络实现。与图3的元件类似的所有元件具有类似的附图标记并且在以上进行了描述。如所示出的,网络55包括计算装置51、服务器53、智能模块37和打印机PrinterID_2。计算装置51、服务器53和智能模块37经由网络通信信道57通信,网络通信信道57可以是有线信道、无线信道或者二者的组合。可以是计算机平板或其它数据处理装置的计算装置51经由网络浏览器33访问网页31。可选地,从服务器53或从智能模块37访问网页(即,网络应用)31。即,网络应用31可维持(即,存储或设置)在服务器53和/或智能模块37中(以及从服务器53和/或智能模块37访问)。
可选地,打印机PrinterID_2可包括非易失性存储器59。在一个实施例中,诸如标记的多个预定义图像可存储在存储器59中并且由诸如LOGO_1至LOGO_3的ID代码来标识/定址。
如上所说明的,打印API定义累积打印机控制命令的命令缓冲器。各种类型的控制命令可累积在命令缓冲器中。图5示出了根据本发明的可累积在命令缓冲器63中的打印机控制命令61的一些示例。每个命令可得到执行该命令所需的一个或多个指令。
例如,参照图5,命令之一可以是用于将用于打印的文本添加到命令缓冲器的文本命令。即,文本命令可定义插入要打印的文本的、具有有限或无限长度的数据域。另一命令可以是用于将定义(即,设置)文本的属性的参数添加到命令缓冲器的文本设置命令。这样的属性可包括插入文本的大小、字体、颜色等。文本设置命令可设置多个不同参数。例如,第一文本设置参数可指定用于在纸上进行打印的开始位置,并且另一文本设置参数可设置对齐要求。其它参数可设置插入文本的语言、字体、风格、缩放和/或大小。另外的文本设置参数可包括用于指定是否旋转打印文本或者是否实现文本平滑化的参数。
其它指令可以是用于将用于在打印机中送纸的一个或多个指令添加到命令缓冲器的送纸命令。
此外的其它命令可以是用于添加用于打印的光栅图像的图像命令。如本领域公知的,光栅图像通常是一次一点定义当在显示介质上观看时的图像(诸如位图)的矩形区域,并且定义图像文件。优选地,打印API包括半色调属性元素,并且在网络应用中渲染的彩色图像根据半色调属性元素的设置而通过图像命令被转换成用于打印的光栅图像数据。优选地,半色调属性元素指定抖动、误差扩散和/或用于将彩色图像转换成光栅图像数据的阈值中的至少一个。打印API还可包括亮度属性元素,该亮度属性元素可指定用于校正光栅图像数据的亮度的在范围0.1至10.0中的伽马值。在该情况下,图像命令可根据亮度属性元素的设置而将彩色图像转换成用于打印的光栅图像数据。
如图4所示,PrinterID_2可包括用于登记至少一个标记的非易失性NV存储器59。在该情况下,优选地,存在用于将标识特定标记的键码添加到命令缓冲器以打印所标识的标记的标记命令。即,键码指定在NV存储器59中登记的特定标记(即,标记LOGO_1至LOGO_3)。
其它命令可以是用于将打印条形码的指令添加到命令缓冲器的条形码命令。优选地,支持多个条形码类型,并且条形码命令包括至少指定所期望的条形码类型、条形码的宽度和高度和/或要转换(即,编码)成所选择的条形码类型的数据的条形码参数。
其它命令可以是用于将打印二维符号的指令添加到命令缓冲器的符号命令。符号命令可包括指定二维符号的类型、二维符号的误差校正水平或者要转换成二维符号的数据中的至少一个的符号参数。
优选地,其它命令是用于将绘制第一线的指令添加到命令缓冲器的第一线命令。第一线命令可包括指定第一线的开始位置和结束位置的第一线参数。本发明还可包括第二线命令,该第二线命令用于将开始无限长度的第二线的绘制的指令添加到命令缓冲器、以及提供指定第二线的开始位置的第二线参数但是没有提供用于指定第二线的任何结束位置的线参数。在该情况下,优选地,本发明包括用于添加结束(即,停止)由第二线命令开始的第二线的绘制的指令的第三线命令。第三线命令可包括指定第二线的结束位置的第三线参数。
此外的其它命令可以是页面模式命令,该页面模式命令用于将切换到页面模式以及在页面模式中添加打印区域的指令添加到命令缓冲器。即,页面模式可以是如下打印模式:其中,定义了打印区域,数据布置在打印区域中,并且在批操作中打印该打印区域。页面模式还可包括指定打印区域的期望设置位置的至少一个坐标。第二页面模式命令可添加用于结束由第一页面模式命令发起的页面模式的指令。另外的第三页面模式命令可至少一个关于由第一页面模式命令定义的页面模式的设置(即,设置参数)。第三页面模式命令可包括指定用于在页面模式中进行打印的方向的第三页面参数、或者指定用于在页面模式中进行打印的开始位置的坐标。第四页面模式命令还可添加用于在由第一页面模式命令定义的页面模式中绘制诸如线或矩形的预定义形状的指令。第四页面命令可包括指定在页面模式内的预定义形状(即,线或矩形)的开始位置和结束位置的坐标。第四页面命令还可包括指定形状的类型选择的第四页面参数。例如,第四页面参数可指定线类型或矩形类型。
其它的命令可以是用于将用于诸如借助于切纸器47切纸(即,打印介质)的指令添加到命令缓冲器的切纸命令。切纸命令可包括指定在无需首先送纸的情况下切纸或者在送纸之后切纸中的任一个的切纸参数。
如图3所示,根据本发明的打印机可具有连接到该打印机的抽屉43。假设为该情况,则其它命令可以是用于将弹开(即,释放或解锁)抽屉的指令添加到命令缓冲器的抽屉弹开命令。优选地,抽屉弹开命令包括第一抽屉参数,该第一抽屉参数指定施加用于打开抽屉的信号的导通持续时间。此外,优选地,抽屉通过两个连接器连接到打印机,并且抽屉弹开命令包括指定连接抽屉和打印机的连接器中的任一个(或者其释放)的第二抽屉参数。
如图3所示,PrinterID_2可包括蜂鸣器45。如果这样,则其它命令可以是用于将接通(或启动)蜂鸣器的指令添加到命令缓冲器的蜂鸣器命令。蜂鸣器命令可包括指定重复蜂鸣器的启动的模态或次数的蜂鸣器参数。
在POS系统中所实现的本发明的具体示例如下。
图6示出了应用在POS系统79中的本发明的具体示例。如所示出的,本示例包括如上所述的服务器71、网络浏览器73和智能模块75。为了说明目的,智能模块75被标识为“TM智能打印机”以指示其可包括与一个或多个打印机通信的一个或多个智能模块的组合。如上所述,网络浏览器73可在POS装置(诸如电子/计算机化现金出纳机)内执行,并且网络浏览器73访问网页77。为了易于讨论,应用在本POS系统79中的本发明的打印机制/方法称为“ePOS-Print(ePOS-打印)”。
ePOS-Print提供了用于在多平台环境中控制POS打印机的功能。使用ePOS-Print,数据可以从个人计算机、智能电话或平板计算机上的网络浏览器到TM智能打印机(即,一个或多个智能模块和一个或多个打印机的组合)直接被打印。
另外,可以打印以HTML5Canvas渲染的打印图像。如本领域公知的,HTML5Canvas是用于图形的容器,并且提供了用于经由脚本来绘制图形的方式。ePOS-Print提供了用于打印命令的API(相当于本讨论中的“打印API”)。当打印文档(请求)经由HTTP从主机(即,网络浏览器73运行的装置或终端)被发送到TM智能打印机75的ePOS-Print服务时,ePOS-Print对该文档的打印进行处理并且返回响应文档(即,响应)。
本实现包括多个特征。例如,只要本系统在网络环境中,具有支持HTML5的网络浏览器的终端就可以从任何地方执行打印。不需要打印机驱动器和插件的安装。不需要PC或服务器用于打印。本系统允许从公共和私有网络云进行打印。本发明一般地还允许以网络浏览器支持的任何语言进行打印。本发明在打印之前自动检查TM打印机的状态。不需要预先检查TM打印机的状态。本系统不对打印机的功能进行响应以自动发送其状态(诸如AutoStatusBack(自动状态返回)功能)。替代地,本系统能够发送空打印命令并且基于命令传输的结果而检查(即,确定)TM打印机的状态。然而,为了改变打印机设置,可使用专用于每个打印机的利用程序或者其它利用程序。因此,本发明允许TM打印机经由TM智能打印机进行打印。本发明因此可提供ePOS-Print API和ePOS-Print-CanvasAPI两者。如上所讨论的,本发明还允许使用装置字体用于打印,允许条形码打印,允许以HTML 5Canvas渲染的图像的打印以及允许使用TrueType字体用于打印。优选地,f允许使用装置字体用于打印并且允许条形码打印。此外,优选地,ePOS-Print-Canvas API允许以HTML5Canvas渲染的图像的打印以及允许使用TrueType字体用于打印。
图7示出了可借助于ePOS-Print API实现的打印类型的示例。示出了两个收条81和83。收条81示出了如上讨论的各种打印命令的执行的示例。收条81示出了打印标记、文本对齐(居中)、送纸和切纸的示例。收条83示出了执行用于执行以下的打印命令的示例:打印光栅图像、打印双倍宽度风格的文本、诸如缩放=x6(水平)和x4(垂直)的缩放、对齐(中心)以及打印条形码。
图8示出了可借助于ePOS-Print-Canvas API实现的打印类型的示例。在本示例中,通过HTML 5Canvas创建的图形包括通常是单色图形(或图像)的条形码以及紧挨在条形码之上的图示图形。图示图形可以是单色的或灰度的或者彩色的。
图9是根据本发明的实施例的打印流程的示例。本示例示出了服务器、无线LAN路由器、网络浏览器、TM智能打印机和可以被控制的打印机。优选地,根据本发明的网络应用(即,网页)可设置(即,维持)在服务器中,并且网络浏览器显示网络应用。在操作中,网络浏览器可将打印数据发送到TM智能打印机(或智能模块),TM智能打印机将打印数据发送到在其控制下的适当打印机,并且这些打印机打印数据。TM智能打印机然后将响应文档返回到网络浏览器(即,返回到运行网络浏览器的终端)。
ePOS-Print API可提供多个功能。例如,其可以提供打印设置功能,诸如对齐(例如,文本对齐)、换行间隔、文本旋转和页面模式。还可以提供多个字符数据设置(例如,文本字符),诸如语言、字体(装置字体)、双倍大小、缩放、平滑化和打印位置。还可以提供字符风格设置,诸如黑白反转、下划线和粗体。还可包括打印机操作控制,诸如送纸设置(以点计数或以行计数)。ePOS-Print API优选地还提供图像打印(即,光栅图像和NV图形)、条形码打印和二维符号打印。还可提供规则线设置、抽屉弹开功能、蜂鸣器功能、ESC/POS命令传输、响应文档获取(打印结果、打印机状态和/或系统错误状态)。
ePOS-Print-Canvas API还可提供多个功能。例如,可提供以HTML5Canvas渲染的图像(光栅图像)的打印、送纸和切纸功能以及响应文档获取(诸如打印结果、打印机状态和/或系统错误状态)。
优选的网络浏览器因此是支持HTML5的浏览器。支持HTML5的网络浏览器的示例是Windows Internet Explorer 9或更后面的版本、Mozilla Firefox 3.6或更后面的版本、Google(谷歌)Chrome 7或更后面的版本、iOS 4.0或更后面的版本中的Safari、以及Android(安卓)2.2或更后面的版本中的标准浏览器。
图10中示出了根据本发明的系统构造示例。该示例再次示出了(网络)服务器(其中设置了网络应用(即网页))、终端(其上安装了支持HTML5的网络浏览器)、可选无线LAN路由器、TM智能打印机和可以由TM智能打印机控制的打印机。与之前相同,TM智能打印机接收和打印从网络浏览器发送的打印数据和/或控制其它装置,并且在其控制下的打印机打印从TM智能打印机接收的打印数据。
图11示出了网络应用到TM智能打印机的登记。如上所说明的,终端使用浏览器执行(即,访问)网络应用(即,网页),并且将装置控制(其可包括打印数据)发送到TM智能打印机。TM智能打印机然后打印从网络浏览器发送的接收打印数据。
在本发明的优选实施例中,可施加一些限制。例如,打印机的抽屉和蜂鸣器可不一起使用。自然地,如果打印机没有蜂鸣器则无法使用蜂鸣器功能。
本发明还可遵守由特定网络浏览器提供的限制。例如,InternetExplorer 9不允许从受安全保护的网页(其通常由地址头“HTTPS”来标识)执行到打印机的打印。
图12提供了根据本发明的使用ePOS-Print API创建的样本程序屏幕的示例。以下示例假设网络服务器使用IIS(微软因特网信息服务)来配置。框1示出了排队票,框2示出了券,以及框3标识了“设置”启动按钮。在一个实施例中,框1可打印排队票号码,并且框2自然打印券。
图3是可响应于图12的设置按钮的启动而调用的设置窗口的示例。设置可包括智能打印机(即,如上所说明的智能模块)的网络地址(即,IP地址)、目标打印机的装置ID、超时设置和用于以灰度进行打印的选项。
图14示出了使用ePOS-Print API的第一样本打印输出和使用ePOS-Print-Canvas API的第二样本打印输出。如所示出的,ePOS-Print-Canvas API优选地用于打印图形。
图15示出了示出从其初始显示状态直至打印作业完成的处理步骤流程的样本流程图。这是使用ePOS-Print API打印的排队票号码发放的示例。处理通过在步骤91打开网络应用(即,样本程序网页)而开始。然后在步骤93输入设置。一些设置可包括TM智能打印机的IP地址、要控制的打印机的装置ID和(打印)超时时间。通过如步骤95所示选择(即,点击)“发放排队票号码”选项来创建适当排队票。然后可调用ePOS-PrintBuilder对象来创建打印数据(步骤95)。ePOS-Print对象然后创建打印(步骤99)。
图16示出了示出用于券发放的处理步骤流程的样本流程图。这是ePOS-Print Canvas API的示例。处理流程通过根据本发明打开网页而开始(步骤101)。如果需要,可输入设置(步骤103)。设置的示例是TM智能打印机的IP地址、要用于打印的打印机的装置ID和打印超时时间。然后点击(即,启动/选择)“发券”选项(步骤105)。网页然后以HTML5Canvas渲染券(步骤107)。最终,在步骤109中,网页使用ePOS-PrintCanvas API(即,ePOS-Print Canvas API对象)向TM智能打印机(即,智能模块)发出打印请求。
图17是根据本发明的操作环境的示例。基本上,图17提供了用于以下讨论的一些样本程序的系统配置图。图17示出了具有固定IP地址(192.168.192.10)的网络服务器。该网络服务器可配置环境设置。网络服务器直接与无线LAN路由器通信,该无线LAN路由器可具有固定IP地址例如(192.168.192.1)。无线LAN路由器提供了TM智能打印机(其可具有固定IP地址例如(192.168.192.20))和可由TM智能打印机控制的可选第二打印机之间的通信路径(诸如有线连接)。优选地,可选第二打印机也具有固定IP地址例如(192.168.192.21)。在本实现中,无线LAN路由器提供了到终端的无线通信链路,该终端具有支持HTML5的网络浏览器并且可在其上执行根据本发明的网页。在本示例中,终端具有动态网络地址(被示出为(192.168.192.XXX)),并且该动态网络地址可以由DHCP来发出。例如,无线LAN路由器可通过DHCP向终端发出IP地址。
图18示出了用于配置用于样本程序的环境设置的处理流程。在步骤111中,通过配置路由器设置(诸如SSID、IP地址、DHCP和分配IP地址)而开始。接下来,在步骤113中,配置计算机设置。这可被划分为配置用于计算机的网络设置(诸如IP地址)的第一子步骤113a和配置计算机上的网络服务器的第二子步骤113b。在步骤115中,登记程序以执行。在本示例中,登记了称为ePOS-Print_API_UM_E_Sample的样本程序。然后提供终端设置(步骤117),诸如配置终端的无线LAN(Wi-Fi)设置以匹配路由器设置以便实现网络连接。在步骤119中,配置用于TM智能打印机的网络设置。这可经由网络浏览器来进行。接下来,在步骤121中,配置要控制的打印机的网络设置。这些设置可通过使用如本领域公知的网络设置实用程序来配置。在步骤123中提供可选装置ID设置。这些设置可经由网络浏览器来配置,但是在本样本程序中不需要。最终,在步骤125中,可经由网络浏览器来配置任何所需程序设置。注意,在本样本程序中不需要程序设置。
图19是用于TM智能打印机的网络设置的示例。可通过启动网络浏览器并将TM智能打印机接口的IP地址输入到地址条127中来开始。然后可选择诸如如129所示的有线TCP/IP或无线TCP/IP的配置。如131所示,“TCP/IP设置”屏幕然后出现并且配置用于TM智能打印机的网络设置。为了测试IP地址,可使用TM智能打印机提交状态单。
图20是装置设置的示例。例如,可将要由ePOS-Print控制的打印机的ID设置到TM智能打印机中。可使用网络浏览器来输入TM智能打印机的IP地址(133)。然后选择装置进行配置(135)。“装置设置”屏幕137出现。图21示出了可配置的装置设置的示例。显示关于所登记的装置的信息139。
以上配置和登记序列的执行将导致图12的样本程序屏幕。
接下来讨论用于使用ePOS打印(即,使用根据本发明的打印API)进行编程的向导。
优选地,存在两种类型的打印模式:标准模式和页面模式。在标准模式中,逐行打印字符。基于字体大小和图像(即,条形码等)的高度来调整换行间隔。标准模式适合于打印收条,或者要求纸长度根据打印间隔进行改变的其它打印类型。
在页面模式中,设置(即,定义)打印区域,在该打印区域中布置数据,并且在批操作中打印数据。例如,字符、图像和条形码可根据位置坐标而布置在打印区域中,然后在批操作中打印所得到的打印区域。
图22示出了用于使用ePOS-Print API进行编程的样本工作流程。第一步骤141要将ePOS-Print API嵌入在网页中。优选地,ePOS-Print API被提供作为JavaScript,并且可遵循以下文件命名惯例:“epos-print-2.x.x.js”。即,提供ePOS-Print API以使得ePOS-Print可以在客户端装置中用作JavaScript。通过将epos-print-2.x.x.js嵌入在应用(诸如网页)中来使用ePOS-Print API。为了使用ePOS-Print API,epos-print-2.x.x.js放置(即,设置)在网络服务器上,并且被分发到客户端。例如,可通过使用HTML<脚本>标签而将ePOS-Print API脚本嵌入到网页中。图23示出了使用HTML<脚本>标签来嵌入ePOS-Print API的示例。
下一步骤143是创建要打印的文档。可使用ePOS-Print Builder对象来创建打印文档。例如,使用用于ePOS-Print Bulider对象的构造器来创建ePOS-Print Bulider对象,并且使用该对象的方法来创建打印文档。可使用toString方法或者如以下列出的其它打印机API方法/功能来获取打印文档。图24示出了用于创建打印文档的程序代码片段的示例。
为了创建文本打印文档,使用文本方法将字体设置存储到命令缓冲器中,然后创建打印文档。图25示出了用于创建文本打印文档的样本脚本代码。样本脚本代码使用称为FontA的字体,设置x4水平和x4垂直的文本缩放,以及将风格设置为粗体。样本脚本的结果是利用指定文本设置以文本“Hello World(你好,世界)”来创建打印文档。
图26提供了创建图形打印文档的样本脚本代码。更具体地,样本脚本代码创建用于图像文件logo.bmp的打印文档。基本上,其描述了打印光栅图像的一种方式。以下讨论打印登记在打印机内的非易失性存储器中的图形的另一方法。为了在本示例中创建图形打印文档,使用addImage方法将通过以HTML5Canvas渲染图像而获得的光栅图像存储到命令缓冲器中。
如图22的步骤143所示的用于创建打印文档的另一方法是创建页面模式打印文档。图27示出了用于创建页面模式打印文档的样本代码。示例将短语“Hello world”添加到打印区域中。以下示例使用addPageBegin方法。当addPageBegin方法存储在命令缓冲器中时,页面模式开始。打印区域存储到命令缓冲器中(借助于addPageArea方法),并且打印开始位置存储(借助于addPagePosition方法)到命令缓冲器中。然后根据打印数据来指定打印开始位置。然后将这些方法存储到命令缓冲器中以创建打印数据。为了结束页面模式,将PageEnd方法存储到命令缓冲器中。
返回到图22,在打印文档创建步骤143之后是用于传送所创建的打印文档的步骤145。图28提供了用于打印文档的传输的样本代码。在本示例中,使用ePOS-Print对象来发送打印文档。可使用构造器来创建ePOS-Print对象,并且可将要用于打印的打印机的结束点地址以及打印文档指定(即,输入)到用于发送文档的发送方法中。图29提供了具有关于打印机结束点地址的细节的表格。
如图22所示,最后的步骤147是打印数据的接收。可以通过使用ePOS-Print对象的接收中属性(以下讨论)设置召回函数来接收打印结果。图30提供了用于实现召回函数的样本代码。可获得的信息的示例包括打印结果、错误代码和打印机状态。图31提供了用于召回函数的错误处理方法的示例。图32示出了用于在不进行打印的情况下检查打印机状态的状态事件通知功能的使用。
图33示出了用于使用ePOS-Print-Canvas API进行编程的工作流程。与在ePOS-Print API的情况下一样,ePOS-Print-Canvas API以步骤151开始,步骤151将ePOS-Print-Canvas API嵌入到网页中。图34示出了用于嵌入ePOS-Print-Canvas API的样本代码。为了说明目的,ePOS-Print-Canvas API被示出为JavaScript,并且优选地遵循命名惯例:“epos-print-2.x.xjs”。ePOS-Print-Canvas API可维持(即,放置/保持/存储)在网络服务器中然后被分发到客户端以嵌入到其应用(即,网页)中。如图34所示,ePOS-Print-Canvas API可通过使用HTML<脚本>标签而嵌入到网络应用中。
图33中的下一步骤153用于以HTML5-Canvas进行渲染。图35提供了用于以HTML5-Canvas进行渲染的样本代码。下一步骤155用于打印所渲染的画布图像。图36提供了用于传送用于打印的打印文档的样本代码。为了使用ePOS-Print Canvas API打印以HTML5-Canvas绘制的内容,使用构造器来创建ePOS-Print Canvas API对象。为了使用该打印方法,指定要用于打印的打印机的结束点地址以及画布内容以及是否选择切纸,然后打印该文档。
如步骤157所指示的,TM智能打印机(即,智能模块)接收传送内容。图37示出了用于打印结果收条和召回函数的样本代码。如之前,可以通过使用ePOS-Print Canvas API对象的接收中属性设置召回函数来接收打印结果。以此方式,可以获得关于打印结果、错误代码和打印机状态的信息。图38提供了用于通过召回函数进行错误处理的样本代码。因此,如图39的样本代码所示的,可以使用状态事件通知功能来检查打印机状态而不进行打印。
如上所述,ePOS-Print API提供用于创建打印文档的多种方法。图40、图41、图42a和图42b列出了由ePOSBulider对象定义的ePOS-PrintAPI的一些方法和部件。
如本领域技术人员所理解的,借助于承办商来创建和初始化新的ePOS-Print Builder对象,然后可以使用该对象来创建用于打印指定要打印的串或图形、切纸等的控制命令的打印文档。优选地,该构造器遵循以下语法:“ePOSBuilder();”。图43提供了用于ePOS-Print Builder对象的构造器的样本代码。
用于将文本对齐设置添加到命令缓冲器的语法可遵循以下语法:addTextAligh(align),其中,“align(对齐)”指定对齐的类型。图44提供了对齐参数的类型的示例。图45提供了ePOS-Print Builder对象的返回值,并且图46示出了例外错误。图47提供了示出文本对齐的使用的样本代码。
用于将换行间隔设置添加到命令缓冲器的方法优选地遵循语法:addTextLineSpace(linespc)。参数“linespc”指定换行间隔(以点),并且优选地为从0到255的范围中的整数。图48提供了用于将换行间隔设置为30点的样本代码。
用于将文本旋转设置添加到命令缓冲器的方法优选地遵循以下语法:addTextRotate(rotate),其中,“rotate(旋转)”是指定是否旋转文本的布尔值。图49示出了用于旋转参数的布尔值。图50提供了用于设置文本旋转的样本代码。
用于将文本打印添加到命令缓冲器的方法优选地遵循语法:addText(data),其中,参数“data(数据)”是要打印的字符串。诸如水平制表符和换行的不可打印字符可使用如图51所示的转义序列。图52提供了示出addText(data)的使用的样本代码。
用于将语言设置添加到命令缓冲器的方法优选地遵循语法:addTextLang(lang),其中,参数“lang”是指定目标语言的串。图53提供了用于指定目标语言的参数“lang”的示例。图54提供了示出方法addTextLang(lang)的使用的样本代码。
用于将文本字体设置添加到命令缓冲器的方法优选地遵循语法:addTextFont(font),其中,参数“font(字体)”是指定期望字体的串。图55示出了用于字体参数的样本值,并且图56提供了示出addTextFont(font)方法的使用的样本代码。
用于将平滑化设置添加到命令缓冲器的方法优选地遵循语法:addTextSmooth(smooth),其中,参数“smooth(平滑)”是指定是否启用平滑的布尔值。图57示出了用于参数“smooth”的可能值,并且图58提供了示出方法addTextSmooth(smooth)的使用的样本代码。
用于将双倍大小的文本设置添加到命令缓冲器的方法优选地遵循语法:addTextDouble(dw,dh),其中,dw是指定双倍大小宽度的可选布尔参数,并且dh是指定双倍大小高度的可选布尔参数。图59描述了用于dw的参数值,并且图60描述了用于dh的参数值。图61提供了用于将文本大小设置为双倍宽度和双倍高度的样本代码。
用于将文本缩放设置添加到命令缓冲器的方法优选地遵循语法:addTextSize(width,height),其中,参数“width(宽度)”是指定文本的水平缩放的可选数字参数,并且参数“height(高度)”是指定文本的垂直缩放的可选数字参数。图62示出了用于参数“width”的可能值,并且图63示出了用于参数“height”的可能值。图64示出了用于设置水平缩放x4和垂直缩放x4的样本代码。
用于将文本风格设置添加到命令缓冲器的方法优选地遵循语法:addTextStyle(reverse,ul,em,color),其中,“reverse(反转)”是指定是否使得文本的黑色和白色反转的可选布尔参数,“ul”是指定下划线风格的可选布尔参数,“em”是指定粗体风格的可选布尔参数,并且“color(颜色)”是指定颜色的可选串参数。图65示出了用于参数“reverse”的可能值。图66示出了用于参数“ul”的可能值。图67示出了用于参数“em”的可能值。图68示出了用于参数“color”的可能值。图69提供了用于设置下划线风格的样本代码。
用于将文本的水平打印开始位置添加到命令缓冲器的方法优选地遵循语法:addTextPosition(x),其中,“x”是指定水平打印开始位置(以点)的数字参数并且是在从0到65535的范围中的整数。图70示出了用于将打印位置设置在从左端起的120个点处的样本代码。
用于将按点送纸添加到命令缓冲器的方法优选地遵循语法:addFeedUnit(unit),其中,“unit(单位)”是指定送纸间隔(以点)的数字参数并且是在从0到255的范围中的整数。图71示出了用于每隔30个点送纸的样本代码。
用于将按行送纸添加到命令缓冲器的方法优选地遵循语法:addFeedLine(line),其中,“line(行)”是指定送纸间隔(以行)的整数参数并且在从0到255的范围中。图72示出了用于每隔3行送纸的样本代码。
用于将换行添加到命令缓冲器的方法优选地遵循语法:addFeed()。图73示出了用于在打印字符串之后开始新行的样本代码。
addImage方法将光栅图像打印添加到命令缓冲器,并且打印以HTML5-Canvas渲染的图形。该方法还根据半色调和亮度属性的设置而将HTML5-Canvas的RGBA全色图像中的指定范围转换为光栅图像数据。假设图像中的一个像素等于一个打印点,并且当图像包含任何透明颜色时,图像的背景颜色假设为白色。优选地,遵循语法:addImage(context,x,y,width,height,color,mode),其中,“context(上下文)”是指定HTML5-Canvas的二维上下文的上下文参数,“x”是在从0到65535的范围中的整数并且指定打印区域中的水平开始位置,“y”是从0到65535的范围中的整数并且指定打印区域中的垂直开始位置,“width”是在从0到65535的范围中的整数并且指定打印区域的宽度,“height”是在从0到65535的范围中的整数并且指定打印区域的高度,“color”是指定颜色的可选串参数(图74示出了addImage方法内的参数“color”的样本值),并且“mode”是指定颜色模式的可选串参数(图75示出了addImage方法内的参数“mode”的样本值)。图76提供了用于在页面模式中打印300点宽和300点高的图像的样本代码。
用于将NV标记打印添加到命令缓冲器的方法优选地遵循语法addLogo(key1,key2)。该方法打印已登记在打印机的NV存储器中的标记。参数key1是指定NV标记的第一键码1的数字,并且优选地是在从0到255的范围中的整数。参数key2是指定NV标记的第二键码2的数字,并且优选地是在从0到255的范围中的整数。图77示出了示出addLogo方法的使用的样本代码。
用于将条形码打印添加到命令缓冲器的方法优选地遵循语法:addBarcode(data,type,hri,font,width,height)。参数“data(数据)”是指定作为串的条形码数据的串。参数“type(类型)”是指定条形码类型的串。图78至图81提供了条形码类型的示例。参数“hri”是指定HRI位置的可选串参数。图82示出了用于hri参数的一些可能值。参数“font(字体)”是指定HRI字体的可选串。参数“width(宽度)”是以点指定每个模块的宽度的可选整数并且优选地在从2到6的范围中。参数“height(高度)”是以点指定条形码高度的可选整数并且优选地在从1到255的范围中。图83提供了示出如何打印条形码的样本代码。
用于将二维符号打印添加到命令缓冲器的方法优选地遵循语法:addSymbol(data,type,level,width,height,size)。参数“data(数据)”优选地是指定作为字符串的二维(2D)符号数据的串。图84和图85提供了addSymbol方法内的参数“data”的二维码类型描述的示例。参数“type(类型)”是指定二维符号类型的串。图86提供了addSymbol方法内的参数“type”的样本值。参数“level(水平)”是指定误差校正水平的串。图87提供了用于addSymbol方法内的参数“level”的样本值。“width(宽度)”参数是指定模块宽度的在从0到255的范围中的整数。“height(高度)”参数是指定模块高度的在从0到255的范围中的整数。“size(大小)”参数是指定二维符号最大尺寸的在从0到65535的范围中的整数。图88提供了用于打印二维符号的样本代码。
用于将水平线打印添加到命令缓冲器以绘制水平线的方法优选地遵循语法addHLine(x1,x2,style),其中,参数x1是在从0到65535的范围中的整数并且指定水平线的开始位置(以点),参数x2是在从0到65535的范围中的整数并且指定水平线的结束位置(以点),并且参数style(风格)是指定线类型的串。图89示出了用于addHLine方法的一些style参数。图90示出了用于在从左端起的100点与200点之间的位置和从左端起的400点与500点之间的位置绘制双水平线的样本代码。
用于将垂直线的开始添加到命令缓冲器(即,开始垂直线的绘制)的方法遵循语法addVLineBegin(x,style),其中,参数x是在从0到65535的范围中的参数并且指定垂直线的开始位置(以点),并且参数“style(风格)”是指定线类型的可选串。图91提供了用于addVLineBegin方法的参数style的示例。图92提供了用于在从左端起的100点和200点处绘制细垂直线的样本代码。
用于将垂直线的结束添加到命令缓冲器(即,结束绘制垂直线)的方法遵循语法addVLineEnd(x,style),其中,参数x是在从0到65535的范围中的整数并且指定垂直线的结束位置(以点),并且参数“style(风格)”是指定想结束绘制的线的类型的可选串。图91提供了用于addVLineEnd方法的参数style的示例。图94提供了用于在从左端起的100点和200点处绘制细垂直线的样本代码。
用于将切换到页面模式添加到命令缓冲器(即,开始页面模式处理)的方法遵循语法addPageBegin()。用于将页面模式的结束添加到命令缓冲器(即,结束页面模式处理)的方法遵循语法addPageEnd()。图95示出了用于在页面模式中打印字符“ABCDE”的样本代码。
方法addPageArea(x,y,width,height)将页面模式中的打印区域添加到命令缓冲器以指定页面模式中的打印区域(坐标)。在该API功能之后,应指定打印数据API功能(诸如addText方法)。参数“x”是在从0到65535的范围中的整数并且指定水平轴的原点(以点),其中,0是打印机的可打印区域的左端。参数“y”是在从0到65535的范围中的整数并且指定垂直轴的原点(以点),其中,0是没有执行送纸的位置。参数“width(宽度)”是指定打印区域的宽度(以点)的从0到65535的整数。图96示出了用于指定具有原点(100,50)、200个点的宽度和30个点的高度的打印区域并且打印字符“ABCDE”的样本代码。
用于将页面模式打印方向设置添加到命令缓冲器(即,指定页面模式中的打印方向)的方法遵循语法addPageDirection(dir)。如果不需要旋转,则可省略该功能。参数“dir”是指定页面模式中的打印方向的串。图97提供了用于方法addPageDirection的参数“dir”的一些示例。图98提供了用于通过将字符“ABCDE”顺时针旋转90度来打印字符“ABCDE”的样本代码。
用于将页面模式打印位置设置区域添加到命令缓冲器(即,在通过addPageArea方法指定的区域中指定打印开始位置(坐标))的方法具有语法addPagePosition(x,y)。参数x是指定水平打印位置(以点)的从0到65535的整数。参数y是指定垂直打印位置(以点)的从0到65535的整数。图99示出了指定(50,30)用于addPageArea方法指定的区域中的打印开始位置并且打印字符“ABCDE”的样本代码。
用于将页面模式中的线绘制添加到命令缓冲器(即,在页面模式中绘制线)的方法遵循语法addPageLine(x1,y1,x2,y2,style)。参数x1是指定线的水平开始位置(以点)的从0到65535的整数。参数y1是指定线的垂直开始位置(以点)的从0到65535的整数。参数x2是指定线的水平结束位置(以点)的从0到65535的整数。参数y2是指定线的垂直结束位置(以点)的从0到65535的整数。参数“style(风格)”是指定线类型的串。图100提供了方法addPageLine中的“style”参数的示例。图101提供了用于在开始位置(100,0)与结束位置(500,0)之间绘制细实线的样本代码。
用于将在页面模式中的矩形绘制添加到命令缓冲器(即,在页面模式中绘制矩形)的方法遵循语法addPageRectangle(x1,y1,x2,y2,style)。参数x1是从0到65535的整数并且指定线的水平开始位置(以点)。参数y1是从0到65535的整数并且指定线的垂直开始位置(以点)。参数x2是从0到65535的整数并且指定线的水平结束位置(以点)。参数y2是从0到65535的整数并且指定线的垂直结束位置(以点)。参数“style(风格)”是指定线类型的串。图102提供了方法addPageRectangle中的“style”参数的示例。图103示出了用于绘制具有细双线、以开始位置(100,0)和结束位置(500,200)作为其顶点的矩形的样本代码。
用于将切纸添加到命令缓冲器(即,设置/启动切纸)的方法遵循语法addCut(type),其中,参数“type(类型)”是指定切纸类型的串。图104示出了用于方法addCut的样本类型。图105提供了用于执行送纸切纸操作的样本代码。
用于将抽屉弹开添加到命令缓冲器的方法具有语法addPulse(drawer,time)。参数“drawer(抽屉)”是指定抽屉弹开连接器的串。图106示出了用于方法addCut的参数“drawer”的示例。参数“time(时间)”是指定抽屉弹开信号的导通时间(即,持续时间)的可选参数串。图107示出了用于方法addCut的参数“time”的示例。图108示出了用于将100毫秒脉冲信号发送到抽屉弹开连接器的引脚“2”的样本代码。
用于将蜂鸣器的接通添加到命令缓冲器(即,设置蜂鸣器)的方法遵循语法addSound(pattern,repeat)。参数“pattern(模态)”是指定蜂鸣器模态的可选串。图109示出了蜂鸣器模态的示例。参数“repeat(重复)”是指定重复次数的可选串。图110示出了如何设置方法addSound中的参数“repeat”的示例。图111示出了用于重复声音模态“A”三次的样本代码。
用于将命令添加到命令缓冲器(即,发送ESC/POS命令)的方法具有语法addCommand(data),其中,“data(数据)”是指定作为字符串的ESC/POS命令的可选串。
用于获得由ePOS-Print Builder对象生成的打印文档的方法具有语法toString()。图112示出了示出方法toString()的使用的样本代码。
借助于半色调处理方法来实现半色调属性,该半色调处理方法的对象类型是“string(串)”。图113示出了要应用于单色(两色调)打印的半色调处理方法的指定。默认值是HALFTONE_DITHER。图114示出了用于将半色调类型设置为误差扩散的样本代码。
可通过设置伽马值来设置亮度校正。范围0.1至10.0中的伽马值被指定(即,可用)用于亮度校正值。图115提供了用于将亮度设置为2.2的样本代码。
通常通过ePOS-Print Builder对象的方法添加的命令可以直接根据该属性进行操作以用于添加或删除。图116提供了用于清除命令缓冲器并且将其重置为初始状态的样本代码。
用于ePOS-Print对象的构造器创建新的ePOS-Print对象并且对其初始化。用于发送使用ePOS-Print Builder对象创建的打印文档以控制打印机并且监测传送结果或通信状态的方法具有语法ePOSPrint(address),其中,“address(地址)”是指定打印文档被发送到的打印机的URL(即,网络地址)的可选串。图117提供了示出ePOSPrint(address)的使用的样本代码。
发送方法发送使用ePOS-Print Builder对象创建的打印文档。其具有语法send(request),其中,“request(请求)”是指定打印文档的串。图118提供了示出send(request)方法的使用的样本代码。
打开方法启用状态事件操作。其使用事件发送由地址属性指定的打印机的状态,并且在由间隔属性指定的间隔更新状态。其具有语法open()。图119提供了示出open()方法的使用的样本代码。
close()方法禁止状态事件操作。图120提供了示出close()方法的使用的样本代码。
地址属性用于指定要用于打印的打印机的URL。图121提供了地址属性的使用的示例。
启用属性是保持对于状态事件操作的启用/禁止设置的布尔值。使用逻辑值来保持对于状态事件操作的启用/禁止设置。这是只读的。默认值为假。图122提供了使用启用属性的示例。
间隔属性指定更新状态的间隔。更新状态的间隔是以毫秒指定的。其具有3000ms(三秒)的默认值和1000ms(一秒或更长)的最小值。当指定了无效值时,假设为3000ms。图123提供了使用间隔属性的示例。
状态属性提供了打印机的状态。这是从打印机最近获得的状态,并且是只读的。图124提供了使用状态属性的示例。
接收中事件是登记召回函数并且获得响应消息接收事件的属性。其具有语法:Function(response)。召回函数的参数包括:作为参数的响应,作为名称的响应消息和作为对象类型的对象。图125示出了响应对象的一些属性。图126示出了成功的值。图127示出了代码的值。图128示出了状态的值。图129示出了用于创建和发送打印文档以及在消息框中显示打印结果的样本代码。
错误中事件属性登记召回函数并且获得通信错误事件。其具有语法:Function(error)。图130列出了错误对象的一些属性。图131示出了用于创建和发送打印文档以及当发生通信错误时在消息框中显示HTTP状态代码的样本代码。
状态改变中事件登记召回函数以获得状态改变事件。其具有语法:Function(status)。图132提供了使用状态改变中属性的示例。
在线中事件登记登记召回函数以获得在线事件。其具有语法:Function()。图133提供了使用在线中属性的示例。
离线中事件登记召回函数以获得离线事件。其语法也是Function()。图134提供了使用离线中属性的示例。
断电中事件登记召回函数以获得无响应事件。其语法也是Function()。图135提供了使用断电中事件的示例。
盖无问题中事件登记召回函数以获得盖关闭事件。其语法也是Function()。图136提供了使用盖无问题中事件的示例。
盖打开中事件登记召回函数以获得盖打开事件。其语法也是Function()。图137提供了使用盖打开中事件的示例。
纸无问题中事件登记召回函数以获得纸剩余事件。其语法也是Function()。图138提供了使用纸无问题中事件的示例。
纸接近用完中事件登记召回函数以获得纸接近用完事件。其语法也是Function()。图139提供了使用纸接近用完中事件的示例。
纸用完中事件登记召回函数以获得纸用完事件。其语法也是Function()。图140提供了使用纸用完中事件的示例。
抽屉关闭中事件登记召回函数以获得抽屉关闭事件。其语法也是Function()。图141提供了使用抽屉关闭中事件的示例。
抽屉打开中事件登记召回函数以获得抽屉打开事件。其语法也是Function()。图142提供了使用抽屉打开中事件的示例。
以下是一些ePOS-Print-Canvas API功能的讨论。图143提供了ePOS-Print-Canvas API的一些部件的列表。
ePOS-Print-Canvas API对象打印以HTML5-Canvas渲染的打印图像,并且监测打印结果或通信状态。用于ePOS-Print Canvas API对象的构造器用于创建新的ePOS-Print Canvas API对象并且对其初始化。语法是CanvasPrint(address),其中,“address(地址)”是指定地址属性(要用于打印的打印机的URL)的可选串。图144是示出新的ePOS-Print-Canvas API对象的创建的样本代码。
打印方法打印以HTML5-Canvas渲染的图像。其根据半色调和亮度属性的设置将HTML5-Canvas的RGBA全色图像中的指定范围转换成光栅图像数据。图像中的一个像素等于一个打印机点。当图像包含任何透明颜色时,图像的背景颜色假设为白色。打印方法具有语法:print(canvas,cut,mode)。参数“canvas(画布)”指定要打印的HTML5-Canvas对象。参数“cut(切纸)”是设置是否切纸的可选布尔值。图145示出了参数“cut”的示例。参数“mode(模式)”是指定颜色模式的可选串。图146示出了参数“mode”的示例。图147提供了用于打印画布(ID=‘myCanvas’)的样本代码。
打开方法启用状态事件操作。其使用事件发送由地址属性指定的打印机的状态,并且在由间隔属性指定的间隔更新状态。其具有语法open()。图148是示出open()方法的使用的样本代码。
关闭方法禁止状态事件操作。其具有语法:close()。图149是示出close()方法的使用的样本代码。
地址属性指定要用于打印的打印机的URL。图150是示出地址属性的使用的样本代码。
启用属性保持对于状态事件操作的启用/禁止设置。其是布尔类型,并且使用逻辑布尔值来保持对于状态事件操作的启用/禁止设置。这是只读的,并且默认值为假。图151是示出启用属性的使用的样本代码。
间隔属性指定更新状态的间隔。更新状态的间隔是以毫秒指定的。默认值是3000ms(三秒),并且其具有最小值1000ms(一秒或更长)。当指定了无效值时,假设默认为3000ms。图152是示出间隔属性的使用的样本代码。
状态属性提供打印机的状态。这是从打印机最近获得的状态。其是只读的,并且具有默认值0。图153是示出状态属性的使用的样本代码。
半色调处理方法指定应用于单色(两色调)打印的半色调属性。默认值是HALFTONE_DITHER。图154示出了一些半色调属性。图155是示出半色调属性的使用的样本代码。
亮度属性是使用伽马值设置的。更具体地,范围0.1至10.0中的伽马值被指定为亮度校正值。默认值是1.0。图156是示出亮度属性的设置的样本代码。
接收中事件是登记召回函数并且获得响应消息接收事件的属性。其具有语法:Function(response)。召回函数的参数包括:作为参数的响应、作为名称的响应消息和作为对象类型的对象。图157示出了响应对象的一些属性。图158示出了成功的值。图159示出了代码的值。图160示出了状态的值。图161示出了用于打印画布(ID=myCanvas)以及在消息框中显示打印结果的样本代码。
错误中事件属性登记召回函数并且获得通信错误事件。其具有语法:Function(error)。图162列出了错误对象的一些属性。图163示出了用于打印画布(ID=myCanvas)以及当发生通信错误时在消息框中显示HTTP状态代码的样本代码。
状态改变中事件登记召回函数以获得状态改变事件。其具有语法:Function(status)。图164是示出状态改变中事件的使用的样本代码。
在线中事件登记召回函数以获得在线事件。其具有语法:Function()。图165提供了使用在线中属性的示例。
离线中事件登记召回函数以获得离线事件。其语法也是Function()。图166提供了使用离线中属性的示例。
断电中事件登记召回函数以获得无响应事件。其语法也是Function()。图167提供了使用断电中事件的示例。
盖无问题中事件登记召回函数以获得盖关闭事件。其语法也是Function()。图168提供了使用盖无问题中事件的示例。
盖打开中事件登记召回函数以获得盖打开事件。其语法也是Function()。图169提供了使用盖打开中事件的示例。
纸无问题中事件登记召回函数以获得纸剩余事件。其语法也是Function()。图170提供了使用纸无问题中事件的示例。
纸接近用完中事件登记召回函数以获得纸接近用完事件。其语法也是Function()。图171提供了使用纸接近用完中事件的示例。
纸用完中事件登记召回函数以获得纸用完事件。其语法也是Function()。图172提供了使用纸用完中事件的示例。
抽屉关闭中事件登记召回函数以获得抽屉关闭事件。其语法也是Function()。图173a提供了使用抽屉关闭中事件的示例。
抽屉打开中事件登记召回函数以获得抽屉打开事件。其语法也是Function()。图173b提供了使用抽屉打开中事件的示例。
优选地,本发明还并入了ePOS-打印编辑器。以下讨论描述了如何使用根据本发明的ePOS-打印编辑器。该工具允许随意创建ePOS-Print API和样本代码。以下ePOS-打印编辑器可用于开发根据本发明的网络应用。
优选地,本ePOS打印编辑器在网络浏览器环境内工作。优选地,网络浏览器支持HTML5-Canvas以便利用所有可用的打印API方法/对象。因此,优选地,从以下(或者类似)网络浏览器当中选择网络浏览器:Window Internet Explorer 9或更后面的版本,Mozilla Firefox 13或更后面的版本,Google Chrome 19或更后面的版本,Apple Safari 5.1.7或更后面的版本以及iOS 5.1或更后面版本中的iPad Safari。
如果期望,ePOS打印编辑器维持(即,存储和从其访问)在服务器或者智能模块(如上所述)或TM智能打印机中。例如,为了在IP网络上访问本ePOS打印编辑器的主页面(即,“index.html”或主页),可在网络浏览器中输入编辑器的网络地址,诸如:http://[(网络服务器IP地址),或者(智能模块IP地址),或者(TM智能打印机IP地址)]/编辑器/index.html。因此,如果能够访问智能模块或TM智能打印机,则可以用于提供文本编辑(更具体地,ePOS打印编辑)以创建如上所述的具有嵌入打印API的网页应用。
使用ePOS打印编辑器,可以通过使用图形用户接口(即,GUI)选择期望的功能来描述定制ePOS-Print API或定制ePOS-Print-Canvas所期望的功能,并且使得编辑器自动生成所需脚本代码。也可通过使用GUI以图形形式“绘制”或描绘打印输出应该看起来如何的模版或布局来使用编辑器,并且再者编辑器可生成实现期望结果的外形和功能的所需脚本代码。
图174提供了用于根据本发明的ePOS打印编辑器的样本主页面(即,index.html或主页)。优选地,通过在网络浏览器161的地址域163中输入ePOS打印编辑器195的IP地址而经由网络浏览器161访问ePOS打印编辑器。ePOS打印编辑器的主页面包括根据功能类型对编辑器的能力进行分类的多个选项卡165a至165f。例如,选项卡165a选择“编辑”功能,其使得主编辑区域或窗口167上升。选项卡165b提供“预览”功能以预览将执行的一个工程当前正如何工作。API选项卡165c可显示可构建用于实现用户需要的模型API代码。替选地,API选项卡可提供容纳共同用户需要的多个预定义打印API的选择。此外替选地,“API”165c可使得显示用于当前工程的脚本代码的窗口上升。选项卡165d被标记为“XML”并且可用于查看和编辑XML打印文件。例如,如果正预览工程,则XML选项卡165d可带来当前工程的XML打印文档。此外替选地,可输入现有的XML打印文档用于进一步编辑。除了示出了由本ePOS打印编辑器生成的脚本代码之外,在替选实施例中,API选项卡165c或XML选项卡165d还可允许用户手动编辑代码。打印选项卡165e使得用于打印当前工作或者用于通过生成可在屏幕上查看的或者被发送到连接打印机的当前代码的模拟执行的打印输出而测试当前工作的打印选项上升。设置选项卡165f允许输入用于执行的所需设置,诸如目标打印机的型号、智能模块或TM智能打印机的IP地址、目标打印机的装置ID、超时设置和/或诸如选择是否监测打印机状态的可选选择。
主编辑区域167提供可被编程到根据本发明的打印API中的不同编辑功能选择的选择(即,可经由功能图标或软件“按钮”来选择)。这些功能进一步被子分类。
例如,第一子类169提供大部分打印文档可使用的最常见操作。该第一子类被标记为“共同”,并且包括诸如“对齐”、“行距”和“旋转”的功能。对齐功能指定用于文本和/或图形的期望对齐(诸如左对齐、中心对齐、右对齐和定制对齐)。行距功能允许以点或者以测量单位(诸如英寸和/或厘米)来指定期望行距。旋转功能指定用于文本和/或图形的期望旋转朝向。旋转功能可被划分为固定选择(诸如90°、180°或270°)或者可以是在从0°到360°的范围内由用户指定的。
第二子类171提供文本相关功能并且被标记为“文本”。文本子类包括诸如“语言”、“字体”、“位置”、“平滑”、“大小”、“双倍”、“风格”和“文本”的功能。语言功能用于指定用于打印输出的特定语言。例如,可从日本、英语、西班牙语、德语等当中进行选择。字体功能从安装的字体选项库中指定特定字体。位置功能指定文本打印应该从距左边界(或者右边界或顶边界或底边界)[如果在固定尺寸的纸上进行打印]多远处开始。如所公知的,文本可根据特定字体选择的大小而呈现不正常外观。平滑功能去除该参差不齐的不正常外观并且为文本提供平滑边缘。大小功能指定特定文本的大小。双倍功能提供指定应该以双倍大小打印的特定文本的快速方式。风格功能指定特定文本风格,即,下划线、粗体、斜体、反色等。文本功能指定用于打印指定文本的区域和/或指定要打印的文本。
第三子类173提供送纸相关功能并且被标记为“送纸”。送纸子类包括诸如“按单位”、“按行”和“LF”的功能。“按单位”功能按测量单位(诸如点、英寸和/或厘米)来指定送纸量。“按行”功能指定按行的数量(即,以每个行增量)来指定送纸量。“LF”功能提供新的行(即,以与回车功能打字类似的方式按一行递增)。
第四子类175提供图像相关功能并且被标记为“图像”。图像子类包括诸如“图像”和“NV标记”的功能。“图像”功能提供用户提供图像的插入,并且还可为用户提供使用包括基本形状(诸如线、圆、矩形等)的绘制软件工具创建(即,定义)新图像的功能。“NV标记”功能依赖于已存储在打印机中的可定址图像,并且通过地址或本地ID来调用这些图像中的所选图像。即,NV标记图像的地址可以是标识打印机内的(优选地)非易失性存储器的本地(即,内部)存储空间内的指定存储图像的ID代码。通常,NV标记图像是公司标记的图像,但是其不仅限于标记。
第五子类177提供条形码相关功能并且被标记为“条形码”。条形码子类包括诸如“条形码”和“符号”的功能。“条形码”功能对线性条形码(用户指定类型)进行编码。即,用户可提供要编码的信息,并且选择“条形码”功能来生成对所提供的信息进行编码的线性条形码。条形码功能还可包括诸如定义线性条形码的大小和位置的选项。“符号”功能对特定类型的矩阵(即,二维)条形码(诸如QR码)进行编码。再者,用户可提供要编码的信息(文本和/或图形),并且选择“符号”功能来生成对所提供的信息进行编码的矩阵条形码。符号功能还可包括诸如定义的矩阵条形码的大小和位置的选项。
第六子类179提供页面模式相关功能并且被标记为“页面模式”。页面模式子类包括诸如“开始”、“面积”、“方向”、“位置”和“结束”的功能。“开始”功能可指定页面模式区域的起始位置,并且“结束”功能可指定页面模式区域的结束位置。“位置”功能可指定页面模式打印区域应该所处的打印区域内的位置。“面积”功能可指定页面模式区域的特定面积(即,二维大小)。最后,“方向”功能可指定页面模式区域的描绘内容的朝向。例如,如果页面模式包含水平布置的文本,则“方向”功能可用于沿着垂直方向打印该文本。
第七子类181可将第一至第六子类中没有包括的所有剩余功能分组在一起,并且被标记为“其它”。在本示例中,“其它”子类包括诸如“切纸”、“抽屉”、蜂鸣器和“Cmd”的功能。“Cmd”功能指定要发送到打印机的命令。假设打印机是具有切纸器、抽屉和蜂鸣器的POS打印机,则“切纸”命令发出用于裁切打印机在其上打印的打印介质(即,纸)的命令,抽屉选项插入用于弹开打印机的抽屉的命令(可单独标识要启动的特定抽屉闭锁连接器),并且蜂鸣器定义用于打印机以特定蜂鸣器模态启动其蜂鸣器指定持续时间和重复蜂鸣操作指定次数的命令。
图175示出了从对根据本发明的ePOS打印编辑器195的“设置”选项卡165f的选择而得到的设置屏幕。设置屏幕提供了用于输入或选择目标打印机的型号的打印机型号域183。还提供了用于输入智能模块或TM智能打印机的IP地址的IP地址域185。装置ID域187接收目标打印机的装置ID,该装置ID可以是分配给目标打印机的ID名称。在打印超时域189中,可设置用于尝试打印操作的超时(以毫秒)。还提供了用于选择是否监测打印机状态的选择按钮191。图176提供了总结由设置屏幕提供的一些选项的表格。
图177提供了根据本发明的ePOS打印编辑器的编辑屏幕的另一但是较小的视图。本编辑屏幕与图174的编辑屏幕类似,除了图177另外示出了编辑区域193之外。主菜单区域167显示如上所述的可用功能。可“点击图标”(即,从主菜单区域167选择软件按钮)以将其添加到编辑区域193的底部。还可拖动(或移动)图标以将其插入到编辑区域193中的任何地方。编辑区域193内的图标的位置指定最终脚本代码文件内的相关代码的位置(即,顺序)。在放置功能图标(或元素)之后,根据需要对其进行配置。例如,如果NV标记被添加到编辑区域167,则通过输入标识要选择的图像的键码来进行配置。应理解,可具有编辑区域193内的同一功能图标的多个实例。因此,编辑区域193显示在菜单区域中所选择的功能(即,元素)。在任何时间,这些元素可在编辑区域193内被向上或向下拖动以改变其执行顺序。每个元素在其右侧被给与“X”按钮,并且任何元素可以使用其“X”按钮来删除。输入选项197,ePOS-打印编辑器可以输入在过去存储的XML数据。清除选项199删除编辑区域193内的编辑详情。
选择如图174所示的预览选项卡165b提供了预览图像。图178示出了根据本发明的ePOS打印编辑器的样本预览图像。这提供了打印文档的预览101。
如果连接了打印机,则可通过选择打印选项卡165e来进行实际打印以测试代码。图179提供了在选择了打印选项卡的情况下的本ePOS打印编辑器的样本视图。打印选项卡165e可用于查看预览图像的XML打印文档,或者可用于输入XML打印文档。例如,可使用打印选项卡165e打开现有的XML打印文档,并且可诸如通过复制来保存XML打印文档的内容。ePOS-Print XML文档显示在要发送的数据(ePOS-Print XML)部分中。选择发送选项将数据发送到打印机并且执行打印。信息部分显示打印状态。选择清除选项删除信息框中的内容。
图180示出了根据本发明的输入屏幕。要输入的ePOS-Print XML打印文档被粘贴在“要输入的数据(ePOS-Print XML)”部分中并且在其中进行检查。选择“应用”选项输入ePOS-Print XML打印文档。信息部分显示任何输入/所需信息。“关闭”选项关闭输入屏幕。
在本发明的优选实施例中,选择如图174所示的API选项卡165c提供ePOS-Print样本代码。图181提供了在选择了API选项卡的情况下的本ePOS-打印编辑器的样本视图。用户可通过将样本代码复制到其自己的代码文件或编辑区域中来利用该样本代码。
尽管结合多个特定实施例描述了本发明,但是对本领域技术人员来说明显的是,根据以上描述,多个另外的替选、修改和变化将是明显的。因此,这里描述的发明旨在包括落入所附权利要求的精神和范围内的所有这样的替选、修改、应用和变化。

Claims (19)

1.一种方法,用于在网络应用中创建文档,将所述文档发送到打印机以及通过网络获得所述打印机的状态,所述网络应用由网络浏览器来执行,所述方法包括以下步骤:
提供被适配成连接到所述打印机的智能模块,所述智能模块被配置成设置了网络地址、通过所述网络接收所述文档以及将所述文档发送到所述打印机;
将应用程序接口API嵌入在所述网络应用中,所述API包括:
(i)地址属性元素,被配置成指定所述智能模块的网络地址,
(ii)状态事件元素,被配置成检查所述打印机的一个或多个状态,以及
(iii)打开方法元素,被配置成启用所述状态事件元素的操作;
将所述智能模块的网络地址设置到所述地址属性元素中;
使用所述打开方法元素来启用所述状态事件元素的操作以及接收所述打印机的指定状态。
2.根据权利要求1所述的方法,其中,所述API还包括关闭方法元素,所述关闭方法元素被配置成禁止所述状态事件元素的操作,所述用于在网络应用中创建文档的方法还包括使用所述关闭方法元素来禁止所述状态事件元素的步骤。
3.根据权利要求1所述的方法,其中,所述API包括间隔属性元素,所述间隔属性元素指定用于隔开所述打印机的状态更新的时间间隔,所述用于在网络应用中创建文档的方法还包括将所述时间间隔设置到所述间隔属性元素中的步骤。
4.根据权利要求1所述的方法,其中,所述API包括状态属性元素,所述状态属性元素指定最近从所述打印机获得的状态。
5.根据权利要求1所述的方法,还包括设置所述打印机的装置标识的步骤,其中,所述地址属性元素还被配置成指定要接收其所检查的状态的所述打印机的装置标识。
6.根据权利要求1所述的方法,其中,所述网络应用维持在所述智能模块中,并且所述网络浏览器从所述智能模块访问所述网络应用。
7.根据权利要求1所述的方法,其中,所述网络应用维持在网络服务器中,并且所述网络浏览器从所述网络服务器访问所述网络应用。
8.根据权利要求1所述的方法,其中,所述一个或多个状态包括指示所述打印机是在线还是离线的状态。
9.根据权利要求1所述的方法,其中,所述打印机具有盖,并且一个或多个状态包括指示所述盖是打开还是关闭的状态。
10.根据权利要求1所述的方法,其中:
所述API还包括:
第一方法元素,被配置成将用于控制所述打印机的命令添加到命令缓冲器,以及根据所述命令缓冲器中的命令而创建所述文档;以及
第二方法元素,被配置成通过所述网络将所创建的文档发送到所述智能模块;
所述用于在网络应用中创建文档的方法还包括以下步骤:
利用嵌入在所述网络应用中的所述第一方法元素而创建所述文档;
利用嵌入在所述网络应用中的所述第二方法元素而将所述文档发送到具有所述地址属性元素指定的网络地址的智能模块;以及
使得所述智能模块将所接收的文档发送到所述打印机。
11.根据权利要求10所述的方法,还包括:所述打印机将其所接收的文档打印在所述打印机中的纸介质上的步骤。
12.根据权利要求11所述的方法,其中,由所述状态事件元素检查的所述打印机的一个或多个状态包括指示所述纸介质的供应是结束还是几乎结束的状态。
13.根据权利要求10所述的方法,其中:
所述打印机具有抽屉;以及
添加到所述命令缓冲器的用于控制所述打印机的所述命令之一是用于指示所述打印机弹开其抽屉的抽屉弹开命令。
14.根据权利要求13所述的方法,其中,所述打印机的一个或多个状态包括指示所述抽屉是打开还是关闭的状态。
15.一种系统,用于在网络应用中创建文档,将所述文档发送到打印机以及通过网络获得所述打印机的状态,所述网络应用由网络浏览器来执行,所述系统包括:
智能模块,被适配成连接到所述打印机,所述智能模块被配置成设置了网络地址;
网络服务器,通过所述网络连接到所述智能模块,所述网络应用维持在所述网络服务器中;
应用程序接口API,嵌入在所述网络应用中;所述API包括:
(i)地址属性元素,被配置成指定所述智能模块的网络地址,
(ii)状态事件元素,被配置成检查所述打印机的一个或多个状态,以及
(iii)打开方法元素,被配置成启用所述状态事件元素的操作;
其中,在所述打开方法元素启用了所述状态事件元素的操作之后,由所述状态事件元素指定的所述打印机的状态从所述地址属性元素指定的智能模块发送到所述网络浏览器。
16.根据权利要求15所述的系统,其中:
所述打印机具有盖;以及
所述打印机的一个或多个状态包括指示所述盖是打开还是关闭的状态。
17.根据权利要求15所述的系统,其中,所述API还包括:
(i)第一方法元素,被配置成将用于控制所述打印机的命令添加到命令缓冲器,以及用于根据所述命令缓冲器中的命令而创建所述文档,以及
(ii)第二方法元素,被配置成通过所述网络将所述文档发送到所述智能模块;
其中,所述文档由所述第一方法元素来创建、并且由所述第二方法元素法发送到具有所述地址属性元素指定的网络地址的智能模块。
18.根据权利要求17所述的系统,其中,抽屉连接到所述打印机,并且其中,添加到命令缓冲器中的用于控制所述打印机的所述命令之一是用于指示所述打印机弹开其所连接的抽屉的抽屉弹开命令。
19.根据权利要求17所述的系统,其中,所述打印机的一个或多个状态包括指示所述抽屉是打开还是关闭的状态。
CN201380040204.1A 2012-08-14 2013-08-08 Epos打印 Active CN104508622B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261683009P 2012-08-14 2012-08-14
US61/683,009 2012-08-14
PCT/JP2013/071943 WO2014027678A1 (en) 2012-08-14 2013-08-08 Epos printing

Publications (2)

Publication Number Publication Date
CN104508622A true CN104508622A (zh) 2015-04-08
CN104508622B CN104508622B (zh) 2017-05-17

Family

ID=49213039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380040204.1A Active CN104508622B (zh) 2012-08-14 2013-08-08 Epos打印

Country Status (7)

Country Link
US (6) US9098226B2 (zh)
EP (1) EP2740024A1 (zh)
JP (2) JP6156394B2 (zh)
KR (1) KR101600248B1 (zh)
CN (1) CN104508622B (zh)
IN (1) IN2014DN03284A (zh)
WO (1) WO2014027678A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598510A (zh) * 2016-11-18 2017-04-26 福建星网视易信息系统有限公司 兼容两种打印方式的方法及装置
CN109388354A (zh) * 2017-08-02 2019-02-26 精工爱普生株式会社 服务器系统、终端装置及它们的工作方法、存储介质
CN110210455A (zh) * 2019-06-18 2019-09-06 石家庄捷弘科技有限公司 一种打印内容格式化提取方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930896B1 (en) 2010-07-23 2015-01-06 Amazon Technologies, Inc. Data anonymity and separation for user computation
US10846244B1 (en) * 2012-05-10 2020-11-24 Majid Amani System for providing an alternative control interface to specialty devices
US10354101B1 (en) * 2012-05-10 2019-07-16 Majid Amani System for providing an alternative control interface to specialty devices
JP6253234B2 (ja) * 2013-01-21 2017-12-27 スター精密株式会社 データ送信システムおよびデータ送信用プログラム
JP6325796B2 (ja) * 2013-11-06 2018-05-16 キヤノン株式会社 情報処理端末およびその制御方法、並びにプログラム
JP6378645B2 (ja) * 2014-06-13 2018-08-22 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP6360370B2 (ja) * 2014-06-30 2018-07-18 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP6488569B2 (ja) * 2014-06-30 2019-03-27 ブラザー工業株式会社 サーバ、および、コンピュータプログラム
JP6525517B2 (ja) * 2014-06-30 2019-06-05 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
US9876819B2 (en) * 2014-08-14 2018-01-23 Banff Cyber Technologies Pte Ltd Method and system for restoring websites
US9542676B2 (en) * 2014-11-13 2017-01-10 Seiko Epson Corporation Host device, printing system, and data processing method
US20160182604A1 (en) * 2014-12-19 2016-06-23 Zih Corp. Method for enabling communication between a user device browser and a local device
JP6424661B2 (ja) * 2015-02-12 2018-11-21 セイコーエプソン株式会社 制御装置、制御システム、及び、制御装置の制御方法
JP2016177436A (ja) * 2015-03-19 2016-10-06 株式会社リコー 情報処理装置、プログラム、情報処理システムおよび印刷システム
JP6468102B2 (ja) * 2015-07-14 2019-02-13 株式会社リコー 情報処理装置、印刷システム、情報処理方法、印刷方法及びプログラム
CN105022596A (zh) * 2015-07-16 2015-11-04 安徽水利水电职业技术学院 一种离线一体式的智能照片打印装置及其照片打印方法
EP3409005B1 (en) * 2016-01-29 2021-06-02 Hewlett-Packard Development Company, L.P. Error diffusion
CN105912284A (zh) * 2016-05-09 2016-08-31 上海携程商务有限公司 打印机的监控方法及系统
US20180032483A1 (en) * 2016-07-29 2018-02-01 Seiko Epson Corporation Information processing device, control method of an information processing device, and storage medium
JP6911403B2 (ja) * 2017-03-10 2021-07-28 日本電気株式会社 情報処理装置
US10963823B1 (en) 2017-05-10 2021-03-30 Massachusetts Mutual Life Insurance Company Systems and methods for chatbot applications performing tasks based on user stress levels
JP6759152B2 (ja) * 2017-05-24 2020-09-23 キヤノン株式会社 画像処理装置、方法、プログラム及びシステム
JP7039305B2 (ja) 2018-01-30 2022-03-22 キヤノン株式会社 システムおよびそれを用いる方法、情報処理装置およびそれを用いる方法、およびプログラム
JP2019164445A (ja) * 2018-03-19 2019-09-26 株式会社リコー 情報処理装置、情報処理方法、プログラム、及び画像形成システム
JP7263837B2 (ja) 2019-02-27 2023-04-25 ブラザー工業株式会社 プログラム、アプリケーション、情報処理装置
JP7234688B2 (ja) * 2019-02-27 2023-03-08 ブラザー工業株式会社 プログラム、アプリケーション、情報処理装置
JP7234687B2 (ja) 2019-02-27 2023-03-08 ブラザー工業株式会社 モジュール及びプログラム
JP7298241B2 (ja) * 2019-03-28 2023-06-27 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7446815B2 (ja) * 2019-12-27 2024-03-11 キヤノン株式会社 プログラム及び制御方法
US11327698B2 (en) * 2020-06-25 2022-05-10 Zebra Technologies Corporation Method, system and apparatus for cloud-based printing
JP7295829B2 (ja) 2020-06-27 2023-06-21 淳史 岩崎 無人航空機用回転球体フレームの振動防止かつ衝撃緩衝装置その2
US20220383284A1 (en) * 2021-05-28 2022-12-01 Walmart Apollo, Llc Systems and methods of implementing a distributed retail point-of-sale hardware management network
US20220383285A1 (en) * 2021-05-28 2022-12-01 Walmart Apollo, Llc Systems and methods of managing hardware systems in a retail point-of-sale management network
KR20230032442A (ko) * 2021-08-31 2023-03-07 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 범용 프린터 드라이버를 위한 자동 프린터 선택
US20230185954A1 (en) * 2021-12-15 2023-06-15 Bank Of America Corporation Transmission of Sensitive Data in a Communication Network
CN114780044A (zh) * 2022-04-26 2022-07-22 北京太格时代自动化系统设备有限公司 一种高速铁路牵引变电所工作票打印方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299588A1 (en) * 2009-05-21 2010-11-25 Michael Joseph Dattilo Method and system for providing interaction between a host system and web pages
CN102385490A (zh) * 2010-08-27 2012-03-21 佳能株式会社 打印作业管理系统及其控制方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654378B1 (en) * 1992-03-18 2003-11-25 Broadcom Corp. Transaction control system including portable data terminal and mobile customer service station
EP0979458A4 (en) * 1996-05-14 2000-05-03 Ricoh Corp Ltd JAVA PRINTER
JP4086360B2 (ja) * 1997-04-24 2008-05-14 キヤノン株式会社 印刷制御システム
US6222634B1 (en) * 1997-07-11 2001-04-24 International Business Machines Corporation Apparatus and method for printing related web pages
US6327045B1 (en) * 1997-09-18 2001-12-04 Microsoft Corporation Computer network
KR100772342B1 (ko) * 1999-03-18 2007-11-01 세이코 엡슨 가부시키가이샤 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임 커맨드의 송신 제어 방법
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
JP4543458B2 (ja) * 1999-10-29 2010-09-15 セイコーエプソン株式会社 出力システム、出力装置、ホスト装置、これらの制御方法、および、情報記録媒体
US7685514B1 (en) * 2000-05-25 2010-03-23 International Business Machines Corporation Method and system for incorporation of graphical print techniques in a web browser
US20020083438A1 (en) * 2000-10-26 2002-06-27 So Nicol Chung Pang System for securely delivering encrypted content on demand with access contrl
US7424509B2 (en) * 2001-06-04 2008-09-09 Hewlett-Packard Development Company, L.P. System and method for printing from a web application
US6829060B2 (en) * 2001-10-30 2004-12-07 Hewlett-Packard Development Company, L.P. Web-based imaging service providing manual duplexing
US7600685B2 (en) * 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
US7307745B2 (en) * 2002-01-21 2007-12-11 Canon Kabushiki Kaisha Web-based print server and client
CN1219651C (zh) * 2002-03-08 2005-09-21 精工爱普生株式会社 打印系统、打印机、pos系统、色彩化设定装置和方法、打印机驱动器和打印控制方法
US20030225894A1 (en) 2002-03-25 2003-12-04 Tatsuo Ito Image forming apparatus including web service functions
JP4130108B2 (ja) 2002-03-25 2008-08-06 株式会社リコー Webサービス機能を有する画像形成装置
US20040028045A1 (en) * 2002-08-09 2004-02-12 Jonathan Cheng Data transmission method for portable communication apparatus
US20040080546A1 (en) * 2002-10-25 2004-04-29 Fritz Terry M. Print menu macros for printing devices
JP2004151953A (ja) * 2002-10-30 2004-05-27 Oki Data Corp 動作状態通知方法および画像形成システム及びデータ処理装置
US20040130744A1 (en) * 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
US7580143B2 (en) * 2003-03-19 2009-08-25 Ricoh Company, Ltd. Image forming apparatus, image forming method, and information processing apparatus for conducting print instruction thereto
JP4281414B2 (ja) * 2003-05-22 2009-06-17 セイコーエプソン株式会社 バーコードまたは二次元コードの印刷システム、バーコードまたは二次元コードのフォント設定方法、およびバーコードまたは二次元コードのフォント設定プログラム
JP4827388B2 (ja) 2003-07-31 2011-11-30 キヤノン株式会社 通信システム、情報処理装置、印刷制御方法、及びプログラム
US20050138117A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Method and system for pushing notifications to networked device
US20060178943A1 (en) * 2005-01-07 2006-08-10 Rollinson Joseph R Food order fulfillment system deploying a universal in-store point-of-sale (POS) for preparation and pickup scheduling
US7884958B2 (en) * 2005-04-15 2011-02-08 Seiko Epson Corporation Printer system, printer, and image registration method
KR100535442B1 (ko) * 2005-04-18 2005-12-09 주식회사 빅솔론 프린팅 장치, 상기 프린팅 장치의 제어 방법 및 상기프린팅 장치를 이용한 데이터 처리 장치
US8209688B2 (en) * 2005-10-31 2012-06-26 Xerox Corporation Enterprise Java Bean (EJB) based enterprise printing architecture
WO2007075719A2 (en) * 2005-12-16 2007-07-05 Pisafe, Inc. Method and system for creating and using barcodes
JP4066383B2 (ja) * 2006-07-06 2008-03-26 シチズンホールディングス株式会社 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ
US8775930B2 (en) * 2006-07-07 2014-07-08 International Business Machines Corporation Generic frequency weighted visualization component
US8040356B2 (en) * 2007-03-30 2011-10-18 Microsoft Corporation Color management user interface
US8270013B2 (en) * 2007-09-27 2012-09-18 Ricoh Company, Limited Printing system, printing method, and computer program product
US20090106456A1 (en) * 2007-10-19 2009-04-23 Urs Muller Method and apparatus for interactions of web applications with the local host environment
JP5228547B2 (ja) * 2008-03-13 2013-07-03 セイコーエプソン株式会社 プリンタの制御方法およびプリンタシステムの制御方法、並びにプリンタ
US20100225955A1 (en) * 2009-03-03 2010-09-09 Almen Kevin D Print Button Widget
US20100309508A1 (en) * 2009-06-03 2010-12-09 Kamath Harish B Network print-related service
MY161493A (en) * 2009-06-08 2017-04-14 Sato Holdings Kk System and method for injecting run-time programming code in a printing device
US8289551B2 (en) * 2009-08-03 2012-10-16 Ricoh Company, Ltd. Approach for processing print data without a client print driver
JP5783672B2 (ja) * 2009-08-04 2015-09-24 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US8547575B2 (en) * 2010-03-09 2013-10-01 Ricoh Company, Ltd Printer discovery within a web page
US8477350B2 (en) * 2010-03-16 2013-07-02 Google Inc. Cloud-based print service
US8953181B2 (en) * 2010-04-20 2015-02-10 Ricoh Company, Ltd. Virtual print job preview and validation
JP5761923B2 (ja) * 2010-04-28 2015-08-12 キヤノン株式会社 印刷システム、情報処理装置及びその方法
JP2012048457A (ja) * 2010-08-26 2012-03-08 Canon Inc 印刷サーバ装置、印刷装置、情報処理方法及びプログラム
JP5609544B2 (ja) 2010-10-29 2014-10-22 セイコーエプソン株式会社 画像入力システム、コンテンツサーバー、仲介サーバー、および、画像入力方法
JP5713641B2 (ja) * 2010-11-16 2015-05-07 キヤノン株式会社 印刷中継システム、および印刷中継システムの制御方法、およびプログラム
US8817281B2 (en) * 2011-01-31 2014-08-26 Canon Kabushiki Kaisha Print setting server, document processing server, print system, and print setting method
CN102693100B (zh) 2011-02-10 2015-06-24 精工爱普生株式会社 网络系统、接口板、网络系统的打印控制方法
JP5709632B2 (ja) * 2011-04-27 2015-04-30 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US8570572B2 (en) * 2011-05-26 2013-10-29 Xerox Corporation Method and apparatus for printing web-based content via cloud print service
JP5800579B2 (ja) * 2011-05-31 2015-10-28 キヤノン株式会社 情報処理装置、印刷制御方法及びコンピュータプログラム
JP5743723B2 (ja) * 2011-06-03 2015-07-01 キヤノン株式会社 印刷システム、サービス処理方法、及びプログラム
JP5843605B2 (ja) * 2011-06-29 2016-01-13 キヤノン株式会社 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム
JP5885410B2 (ja) * 2011-06-29 2016-03-15 キヤノン株式会社 プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
JP5751961B2 (ja) * 2011-07-11 2015-07-22 キヤノン株式会社 画像表示装置によって投射された画像を印刷する印刷システムおよびプログラム
JP5149430B2 (ja) * 2011-07-28 2013-02-20 株式会社 ディー・エヌ・エー 画像処理方法、ファイル変換方法、及び、ファイル変換プログラム
US8806574B2 (en) * 2011-10-05 2014-08-12 Hewlett-Packard Development Company, L.P. System and method for policy conformance in a web application
US9041955B2 (en) * 2011-10-27 2015-05-26 Hewlett-Packard Development Company, L.P. Printing system and methods using a printer server homepage from a print server
US20130298005A1 (en) 2012-05-04 2013-11-07 Motorola Mobility, Inc. Drawing HTML Elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299588A1 (en) * 2009-05-21 2010-11-25 Michael Joseph Dattilo Method and system for providing interaction between a host system and web pages
CN102385490A (zh) * 2010-08-27 2012-03-21 佳能株式会社 打印作业管理系统及其控制方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598510A (zh) * 2016-11-18 2017-04-26 福建星网视易信息系统有限公司 兼容两种打印方式的方法及装置
CN106598510B (zh) * 2016-11-18 2019-09-20 福建星网视易信息系统有限公司 兼容两种打印方式的方法及装置
CN109388354A (zh) * 2017-08-02 2019-02-26 精工爱普生株式会社 服务器系统、终端装置及它们的工作方法、存储介质
CN109388354B (zh) * 2017-08-02 2021-11-12 精工爱普生株式会社 服务器系统、终端装置及它们的工作方法、存储介质
CN110210455A (zh) * 2019-06-18 2019-09-06 石家庄捷弘科技有限公司 一种打印内容格式化提取方法

Also Published As

Publication number Publication date
US20150271346A1 (en) 2015-09-24
US10089560B2 (en) 2018-10-02
EP2740024A1 (en) 2014-06-11
US20150234628A1 (en) 2015-08-20
JP6384571B2 (ja) 2018-09-05
KR101600248B1 (ko) 2016-03-04
US9277064B2 (en) 2016-03-01
US20140049790A1 (en) 2014-02-20
US20140049791A1 (en) 2014-02-20
US9052863B2 (en) 2015-06-09
US20170017865A1 (en) 2017-01-19
CN104508622B (zh) 2017-05-17
US9098226B2 (en) 2015-08-04
JP2017168140A (ja) 2017-09-21
US9483224B2 (en) 2016-11-01
JP2015531087A (ja) 2015-10-29
US10032096B2 (en) 2018-07-24
US20160142568A1 (en) 2016-05-19
IN2014DN03284A (zh) 2015-07-10
WO2014027678A1 (en) 2014-02-20
KR20150043466A (ko) 2015-04-22
JP6156394B2 (ja) 2017-07-12

Similar Documents

Publication Publication Date Title
CN104508622B (zh) Epos打印
US10402809B2 (en) Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands
JP5697486B2 (ja) 印刷中継サーバ、印刷中継サーバを制御する制御方法、その制御方法のプログラム、および印刷処理方法
WO2016099773A1 (en) Method for enabling communication between a user device browser and a local device
US20130107289A1 (en) Rasterization of printing data
CN102460427A (zh) 图像处理设备、图像处理方法和存储介质
JP2008282404A (ja) ドキュメント出力システムおよび方法
CN116795243A (zh) 标贴打印方法及系统、计算机设备及介质
JP2009065655A (ja) 携帯形データ記憶媒体の存在を表示するシステムおよび方法
JP6984703B2 (ja) 文書操作機構
JP7395334B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2015114830A (ja) 情報処理装置、制御方法及び制御プログラム
JP5727067B2 (ja) 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法
JP2011227726A (ja) プログラム、gui開発装置、gui開発方法
JP2010061612A (ja) 帳票作成プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant