目录
单位
所有未特别定义的度量单位均为点(point)。
动作
“动作”(Action) 是一个URL调用参数,允许客户端通过与该打印机交互来请求信息或更改当前队列项。
访问的基本URL是 http://[IP]:[PORT]
。调用返回的数据为XML格式。每个调用均使用HTTP GET方法执行。参数像普通参数一样添加到基本URL后面。第一个参数应始终是命令 (?action)。
大多数动作命令都需要传递一个UUID。这是作业的ID,从打印机处获取。
通过提供令牌(token)对您的Web API请求进行身份验证。首选方法是将令牌发送到出站请求的Authorization HTTP头中。但是,您也可以在所有的Web API调用中,通过一个名为token
的参数传递令牌。
动作调用
printerInfo | 无需参数的请求动作,返回包含所有打印机信息的XML文件。 |
jobInfo | 需要UUID作为参数的请求动作,返回所请求作业的所有信息。 |
moveUpJob | 客户端提供UUID作为参数,打印机将此队列项在队列中向上移动一个位置。 |
moveDownJob | 客户端提供UUID作为参数,打印机将此队列项在队列中向下移动一个位置。 |
moveJob | 客户端提供UUID作为参数,打印机将此队列项移动到队列中指定的位置。 |
enableJob | 客户端提供UUID和启用状态(有效值:true, false, yes, no...)作为参数,打印机将设置该项是否启用打印。 |
startQueue | 开始打印动作。无需更多参数。打印机只会打印那些启用参数为True的项。 |
stopQueue | 无需更多参数。打印机停止所有打印进程。 |
addJob | 使用POST方法的动作。客户端必须提供打印方案类型、启用状态和新作业的标题,然后打印机获取该信息并添加一个新作业。 |
| 返回嵌入在XML中的校样图片(ping)。 |
| 修改现有作业的参数(打印方案、设定高度、份数)。 |
| 将作业下载为.xjb文件。 |
| 将一个或多个打印方案下载为.zip文件。 |
| 从.zip文件导入一个或多个打印方案。 |
| 尝试关闭打印服务器。 |
每个动作至少会返回一个包含RequestStatus
的XML,对于成功执行的动作返回“OK”,对于执行失败的动作返回“Error”。无论哪种情况,XML还将包含一个RequestMessage
,用于告知我们执行的动作类型或发生的错误类型。
对于成功执行的动作:
<MoveDownJob UUID="384b96be-369a-4224-b459-12090c62091f" RequestStatus="OK" RequestMessage="Job 384b96be-369a-4224- b459-12090c62091f moved"/>
对于执行失败的动作:
<MoveUpJob UUID="38b96be-369a-4224-b459-12090c62091f" RequestStatus="Error" RequestMessage="Job 38b96be-369a-4224- b459-12090c62091f not found"/>
此机制适用于所有动作,而不仅仅是moveUpJob
和moveDownJob
。
printerInfo
获取打印机信息的基本参数是:?action=printerInfo
。使用此参数将返回以下格式的XML:
<PrinterInfo Printer=(string) Status=(string) Active=\[Yes|No\] ClusterID=(string) DefaultScheme=(string) PendingSize=(float) SelectedSize=(float) DoneSize=(float) Workstation=(string)>
<JobList>
<Job UUID=(string) StatusID=(string) Status=(string) Enabled=(String) LastError=(string)>
...
</Job>
...
</Job>
</JobList>
<Schemes> <Scheme Name=(string)/>
</Schemes>
<Layouts> <Layout Name=(string)/>
</Layouts>
</PrinterInfo>
在PrinterInfo
动作返回的XML中,我们可以看到以下参数:
Printer
是我们所指打印机的名称。例如:Printer="Generic Printer"
。Status
是一个包含七种选项的字符串:error
,idle
,active
,canceling
,deleting
,finished
,loading
。error
:告知客户端此作业存在错误。idle
:打印机正在等待打印启用的项。active
:作业正在打印中。canceling
:打印机正在取消某个作业时出现此标签。deleting
:任何作业正在被删除时出现此标签。finished
:针对已完成的作业。loading
:任何作业正在加载准备打印时。
Active
只能是yes
或no
。它指示队列是否处于活动状态以打印任何启用的项,或处于非活动状态。
DefaultScheme
指我们将用于每次打印的默认打印方案。例如:
<Scheme Name="197 - Carta_Pigment_i1_10012012"/>
或
<Scheme Name="Esquema tipus Roland"/>
PendingSize
指队列中待打印的长度。SelectedSize
指队列中已选定待打印的长度。DoneSize
指已打印但仍显示在队列中的长度。Workstation
是运行printEngine的计算机名称。
在该动作中,我们有一个JobList
和Schemes
。
JobList
显示我们发送到打印机的所有作业,包含其所有信息。作业的信息将在下一节解释。Schemes
包含打印机上拥有的所有打印方案。Scheme
:打印方案是打印机的配置。一台打印机可以包含多个打印方案,通常也是如此。这就是为什么我们在发送作业进行打印时必须选择打印方案。
jobInfo
获取作业信息的基本参数是:?action=jobInfo&UUID=(string)
。使用此参数将返回以下格式的XML。当客户端使用printerInfo
动作时,它返回所有打印机信息,包括所有作业,因此jobInfo
已包含在printerInfo
中。
<Job UUID=(string) StatusID=(string) Status=(string) Enabled=(String)
LastError=(string) RequestStatus=(OK|Error)>
<Title>ORD-12065295-5A150_002.xjb</Title>
<Scheme>197 - Carta_Pigment_i1_10012012</Scheme>
<TempPath>
C:\Documents and Settings\All Users\Documentos
\neoPrintEngine\Jobs\Generic Printer\384b96be-369a-4224-
b459-12090c62091f
</TempPath>
<PageSpace>0.000000</PageSpace>
<MultichannelOverprint>no</MultichannelOverprint>
<Hour>1367924640</Hour>
<LastActivity>1372418206</LastActivity>
<PrintWidth>4535.520000</PrintWidth>
<PrintHeight>750.289134</PrintHeight>
<Pages Count="3">
<Page Id="0" SourceWidth="0.000000" SourceHeight="0.000000"
Width="4535.520000" Height="112.320000" DoneHeight="0.000000"
ProgrammedHeight="112.320000" Flags="0"/>
<Page Id="1" SourceWidth="0.000000" SourceHeight="0.000000"
Width="4535.433071" Height="566.929134" DoneHeight="0.000000"
ProgrammedHeight="566.929134" Flags="1"/>
<Page Id="2" SourceWidth="0.000000" SourceHeight="0.000000"
Width="4535.520000" Height="71.040000" DoneHeight="0.000000"
ProgrammedHeight="71.040000" Flags="0"/>
</Pages>
<PrintedLength>19.200000</PrintedLength>
<LastErrorMessage/>
</JobInfo>
我们从作业中获取的参数如下:
UUID
: 我们请求信息的作业的UUID。Status
: 已在printerInfo
部分解释过。StatusID
: 指代每个状态的内部代码。Error -1
Idle
0
Active
1
Canceling 2
Deleting
3
Finished 4
Loading 5
Enabled
: 有两个选项(yes
/no
)。此参数显示当打印机处于活动状态时,该作业是否已启用打印。LastError
: 如其所述,显示作业中发生的最后一个错误。RequestStatus
: 已解释过。
之后,XML包含作业的所有具体信息,即:
Title
: 我们正在处理的作业的标题。Scheme
: 打印机将用于此作业的打印方案。TempPath
: 我们正在打印的文档的保存路径(缓存文件夹)。Hour
: 作业被记录的时间(时间戳格式)。LastActivity
: 最后一次打印活动的时间(也是时间戳格式)。PrintWidth
: 打印机将要打印的作业的宽度。PrintHeight
: 打印机将要打印的作业的高度。Pages
: 显示作业的页数。Id
: 页码。- SourceWidth: ———————————————
- SourceHeight: ————————————————
- Width: —————————————————————
- Height: ————————————————————
DoneHeight
: 已打印的高度。ProgrammedHeight
: 将要打印的高度(设定高度)。
PrintedLength
: 此作业已打印的总长度。LastErrorMessage
: 如其所述,此作业发生的最后一个错误。
jobPreview
获取作业校样信息的基本参数是:?action=jobPreview&UUID=(string)[&Size=(integer)]
。Size
是校样图片的像素尺寸。使用此参数将返回以下格式的XML:
<JobPreview UUID=(string) Format="png">
(Data...)
</JobPreview>
我们从作业中获取的参数如下:
UUID
: 我们请求信息的作业的UUID。Format
: 嵌入图像的格式。默认为png。
之后,XML包含作业的所有具体信息,即:
Data
: Base64编码的校样图片数据。
deleteJob
删除作业的基本参数是:?action=deleteJob&UUID=(string)
。
参数:
UUID
(必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
moveUpJob
将作业在队列中上移的基本参数是:?action=moveUpJob&UUID=(string)
。
参数:
UUID
(必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
moveDownJob
将作业在队列中下移的基本参数是:?action=moveDownJob&UUID=(string)
。
参数:
UUID
(必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
moveJob
将作业移动到队列中指定位置的基本参数是:?action=moveJob&UUID=(string)&Position=(number)
。
参数:
UUID
(必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。
Position
(必需):数字,指定列表中的新位置。
使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
enableJob
启用或禁用作业的基本参数是:?action=enableJob&UUID=(string)&Enable=(yes|no)
。
参数:
UUID
(必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。Enabled
(必需):字符串,两个选项。Yes
或 no
。它指示作业是否准备好被打印。
使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
startQueue
启动队列的基本参数是:?action=startQueue
。
使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
addJob
添加新作业的基本参数是:?action=addJob&Scheme=(string)&Enabled=(true|false)&Title=(string)&Layout=(string)&Width=(float)&Height=(float)...
参数:
Scheme
(必需):字符串;新作业的打印方案。Title
(必需):字符串;新作业的标题。Enabled
(必需):布尔值;新作业是否启用。Layout
(可选):字符串;新作业的排版方案名称(由printerinfo提供)。Width
(可选):浮点数;Height
(可选):浮点数;Copies
(可选):整数;作业的新份数。OriginX
(可选):浮点数;作业的新设定原点位置(X轴),任意单位。OriginY
(可选):浮点数;作业的新设定原点位置(Y轴),任意单位。OutputFileName
(可选):支持输出文件格式的驱动,特定打印作业的文件名。ComputerID
(可选):字符串;发送作业的客户端计算机名称。UserId
(可选):字符串;客户端计算机的用户名。
除了这些GET参数外,还必须在同一个请求中通过POST方法提交一个名为'file'的附加参数(包含作业文件)。
setJobParameters
更改作业参数的基本参数是:?action=setJobParameters&UUID=(string)&Scheme=(string)&ProgrammedHeight=(float)&Copies=(Integer)...
参数:
UUID
(必需):字符串;作业的UUID。Scheme
(必需):字符串;作业的新打印方案。ProgrammedHeight
(可选):浮点数;作业的新设定高度,任意单位。Copies
(可选):整数;作业的新份数。OriginX
(可选):浮点数;作业的新设定原点位置(X轴),任意单位。OriginY
(可选):浮点数;作业的新设定原点位置(Y轴),任意单位。OutputFileName
(可选):支持输出文件格式的驱动,特定打印作业的文件名。
如果省略ProgrammedHeight
或copies
,则保留其原始值不作修改。
使用此动作将返回一个包含RequestStatus
和RequestMessage
的XML。
exportJob
导出作业的基本参数是:?action=exportJob&UUID=(string)[&base64=(yes|no value)]
。如果base64
设置为任何值,响应将作为Base64编码数据嵌入在以下格式的XML中:
<JobExport UUID=(string)>
(Base64 encoded Data...)
</JobExport>
如果未提交base64
参数,则.xjb文件将通过HTTP作为常规文件发送。
exportScheme
导出打印方案的参数是:?action=exportScheme&Name=(string)
。API将在成功时返回一个.zip文件,或在失败时返回404 Scheme not Found。
参数:
Name
(必需):字符串;要导出的打印方案的名称。可以使用特殊值“*”
导出所有打印方案。
importScheme
导入打印方案的参数是:?action=importScheme[&Force=(yes|no value)]
。此外,必须通过POST参数发送一个或多个"zip"文件作为文件。
参数:
Force
(可选):如果传递了带有任何值的force
参数,并且zip文件中的打印方案已存在,则将在导入前删除原方案。此标志具有潜在危险,请谨慎使用。
此API的响应语法如下:
<?xml version="1.0" encoding="utf-8"?>
<ImportScheme>
<Scheme Name="First Scheme"/>
...
<Scheme Name="Last Scheme" Status="Error"/>
</ImportScheme>
一个 <Scheme>
列表,包含所有尝试导入的打印方案。如果打印方案无法导入,其Status
值将为“Error”。这可能是由于打印方案已存在,您可以使用&force=yes
在导入前删除原始打印方案。
quit
尝试关闭打印服务器。如果打印服务器正在打印或进行RIP处理,则不会关闭。
关闭打印服务器所需的唯一参数是:?action=quit
。
相关文章: