目录

单位

所有未特别定义的度量单位均为点(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方法的动作。客户端必须提供打印方案类型、启用状态和新作业的标题,然后打印机获取该信息并添加一个新作业。

jobPreview

返回嵌入在XML中的校样图片(ping)。

setJobParameters

修改现有作业的参数(打印方案、设定高度、份数)。

exportJob

将作业下载为.xjb文件。

exportScheme

将一个或多个打印方案下载为.zip文件。

importScheme

从.zip文件导入一个或多个打印方案。

quit

尝试关闭打印服务器。


每个动作至少会返回一个包含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"/>

此机制适用于所有动作,而不仅仅是moveUpJobmoveDownJob


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 只能是yesno。它指示队列是否处于活动状态以打印任何启用的项,或处于非活动状态。
  • DefaultScheme 指我们将用于每次打印的默认打印方案。例如:
<Scheme Name="197 - Carta_Pigment_i1_10012012"/>

<Scheme Name="Esquema tipus Roland"/>
  • PendingSize 指队列中待打印的长度。
  • SelectedSize 指队列中已选定待打印的长度。
  • DoneSize 指已打印但仍显示在队列中的长度。
  • Workstation 是运行printEngine的计算机名称。

在该动作中,我们有一个JobListSchemes

  • 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 (必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatusRequestMessage的XML。


moveUpJob

将作业在队列中上移的基本参数是:?action=moveUpJob&UUID=(string)

参数:


UUID (必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatusRequestMessage的XML。


moveDownJob 

将作业在队列中下移的基本参数是:?action=moveDownJob&UUID=(string)

参数:


UUID (必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。 使用此动作将返回一个包含RequestStatusRequestMessage的XML。


moveJob

将作业移动到队列中指定位置的基本参数是:?action=moveJob&UUID=(string)&Position=(number)

参数:


UUID (必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。

Position (必需):数字,指定列表中的新位置。

使用此动作将返回一个包含RequestStatusRequestMessage的XML。


enableJob

启用或禁用作业的基本参数是:?action=enableJob&UUID=(string)&Enable=(yes|no)

参数:


UUID (必需):字符串,指代一个唯一的字母数字编号,对应于一个唯一的作业。
Enabled (必需):字符串,两个选项。Yesno。它指示作业是否准备好被打印。

使用此动作将返回一个包含RequestStatusRequestMessage的XML。


startQueue

启动队列的基本参数是:?action=startQueue

使用此动作将返回一个包含RequestStatusRequestMessage的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 (可选):支持输出文件格式的驱动,特定打印作业的文件名。


如果省略ProgrammedHeightcopies,则保留其原始值不作修改。

使用此动作将返回一个包含RequestStatusRequestMessage的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



相关文章:

打印服务器 Webhooks